QuizNova — Full-Stack Quiz Management System
A comprehensive quiz management platform built with .NET 10, Angular 21, PostgreSQL, and SignalR.
Key Features:
- Role-based access control (Admin, Instructor, Student) with custom permissions
- Gradual quiz engine supporting MCQ, True/False, and Essay questions with real-time grading
- Real-time course chat rooms powered by SignalR with emoji reactions
- Security & rate limiting (global, auth, and submit-quiz policies)
- Full observability stack: OpenTelemetry, Serilog, Prometheus, Grafana, Seq, Loki
Backend Architecture:
- Clean Architecture with CQRS/MediatR pipeline behaviors
- Result pattern (no exceptions for control flow)
- Hybrid Cache (L1 in-process + L2 PostgreSQL) — no Redis needed
- Transactional outbox with PostgreSQL LISTEN/NOTIFY for reliable event dispatching
- Polymorphic question model following Liskov Substitution Principle
Frontend Architecture:
- Angular 21 with Signals and NgRx Signal Store for state management
- PrimeNG 21 component library
- Atomic layout using NgComponentOutlet for polymorphic question rendering
- Route guards and JWT auth interceptor with silent token refresh
Testing:
- Four-layer test pyramid: Domain unit tests, Application unit tests, Subcutaneous tests (real DB), Integration tests (TestContainers)
- Playwright E2E tests with Page Object Model
CI/CD:
- GitHub Actions with parallel backend/frontend pipelines
- Frontend deployed to GitHub Pages
- Backend containerized and published to GitHub Container Registry
- Docker Compose for local development