Files
GameList/README.md

49 lines
1.4 KiB
Markdown

# Pick'n'Play
Pick'n'Play is a .NET 10 ASP.NET Core Minimal API app with a static HTML/CSS/JS frontend and SQLite persistence.
## Quick Start
1. Restore and build:
`dotnet build GameList.sln`
2. Run tests:
`dotnet test GameList.Tests/GameList.Tests.csproj`
3. Run locally:
`dotnet run --project GameList.csproj`
4. Open:
`http://localhost:5000` (or the URL shown by `dotnet run`)
## Core Behavior
- Authentication: username/password with HttpOnly `player` cookie.
- Admin authorization: authenticated account with `IsAdmin=true`.
- Gameplay phases: `Suggest`, `Vote`, `Results`.
- Storage: SQLite database under `App_Data/gamelist.db`.
## Module Ownership
- `Program.cs`: startup wiring, middleware order, route registration.
- `Endpoints/`: HTTP endpoint transport + request orchestration.
- `Infrastructure/`: filters, middleware, identity helpers.
- `Data/`: EF Core `DbContext` and migrations.
- `Domain/`: entities and enums.
- `Contracts/`: request/response DTOs.
- `wwwroot/`: static frontend assets.
- `GameList.Tests/`: integration and helper tests.
- `scripts/`: deployment scripts.
## Operations
- API surface and endpoint contract: `API.md`
- Product/feature expectations: `SPEC.md`
- IIS deployment notes: `IIS.md`
- Test strategy details: `TESTS.md`
## CI
GitHub Actions workflow: `.github/workflows/ci.yml`
- Restores dependencies
- Builds with warnings treated as errors
- Runs `GameList.Tests`