536e6392f0624811be86fcdbff50d403f98abe9e
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
- Restore and build:
dotnet build GameList.sln - Run tests:
dotnet test GameList.Tests/GameList.Tests.csproj - Run locally:
dotnet run --project GameList.csproj - Open:
http://localhost:5000(or the URL shown bydotnet run)
Frontend Tooling
- Install tooling:
npm install - Lint JS:
npm run lint - Check formatting:
npm run format:check - Apply formatting:
npm run format
Core Behavior
- Authentication: username/password with HttpOnly
playercookie. - 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 CoreDbContextand 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
- Runs frontend lint and format checks
- Builds with warnings treated as errors
- Runs
GameList.Tests
Description
Languages
C#
64%
JavaScript
25.5%
CSS
4.4%
PowerShell
3.8%
HTML
2.3%