An interactive web-based quiz application designed for couples and friends to test how well they know each other. Built with .NET 10, Blazor WebAssembly, and Azure Container Apps.
PoCoupleQuiz is a fun, multiplayer quiz game where one player (the "King Player") answers questions about themselves, while other players try to guess their responses.
Why this project?
- Showcase best practices for .NET 10 Blazor WebAssembly applications
- Demonstrate Azure service integration (Table Storage, OpenAI, Application Insights)
- Reference implementation for Vertical Slice Architecture
- Create an entertaining application for social gatherings
- .NET 10 SDK
- Azure Developer CLI (azd)
- Docker (for Azurite local development)
# 1. Start Azurite (Azure Storage emulator)
docker run -d --name azurite -p 10000:10000 -p 10001:10001 -p 10002:10002 mcr.microsoft.com/azure-storage/azurite
# 2. Run the application via Aspire
dotnet run --project PoCoupleQuiz.AppHostOpen the Aspire Dashboard URL shown in the console (e.g., https://localhost:17011).
# Run all unit and integration tests
dotnet test PoCoupleQuiz.Tests
# Run E2E tests (requires app running)
cd e2e-tests && npx playwright testazd auth login
azd upThis deploys to Azure Container Apps using the Aspire model.
- Register: Players enter team name and player names
- King Selection: First player becomes the "King"
- Question Round: King answers a question about themselves
- Guessing: Other players try to guess the King's answer
- Scoring: Points awarded for correct matches
- Rotate: Next player becomes King
- Results: Final leaderboard displayed
| Project | Description |
|---|---|
PoCoupleQuiz.AppHost |
Aspire orchestration (local development) |
PoCoupleQuiz.Client |
Blazor WebAssembly frontend |
PoCoupleQuiz.Server |
ASP.NET Core Web API backend |
PoCoupleQuiz.Core |
Shared business logic and models |
PoCoupleQuiz.ServiceDefaults |
Shared service configuration |
PoCoupleQuiz.Tests |
xUnit tests (unit, integration, component) |
e2e-tests |
Playwright E2E tests |
- agents.md - Coding standards and rules
- docs/PRD.md - Product Requirements Document
- docs/adr/ - Architecture Decision Records
- docs/diagrams/ - Architecture diagrams (Mermaid + SVG)
- docs/kql/ - Application Insights KQL queries
- ✅ Multi-player support with King Player mechanics
- ✅ Dynamic question generation using Azure OpenAI
- ✅ Difficulty levels (Easy: 3 rounds, Medium: 5 rounds, Hard: 7 rounds)
- ✅ Real-time scoring and leaderboards
- ✅ Responsive mobile-first design
- ✅ Azure Container Apps deployment via Aspire
- ✅ OpenTelemetry observability
- Vertical Slice Architecture: Features organized by business capability
- Aspire Orchestration: Local development with service discovery
- BFF Pattern: Server acts as security proxy for client
- Result Pattern: ErrorOr for explicit error handling
Follow the coding standards in agents.md and ensure all tests pass.
This project is for demonstration purposes.
Built with ❤️ using .NET 10, Blazor, Aspire, and Azure