Initial commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# Backend TODO
|
||||
|
||||
## Phase 1 — MVP (Prototype)
|
||||
|
||||
- [x] Set up TMDB proxy service (protect API key from client exposure)
|
||||
- [x] Movie search endpoint (GET /api/v1/movies/search?q=)
|
||||
- [x] Person search endpoint (GET /api/v1/persons/search?q=)
|
||||
- [x] Movie credits endpoint (GET /api/v1/movies/:id/credits)
|
||||
- [x] Person movie credits endpoint (GET /api/v1/persons/:id/movie-credits)
|
||||
- [x] Movie details endpoint (GET /api/v1/movies/:id)
|
||||
- [x] Person details endpoint (GET /api/v1/persons/:id)
|
||||
- [x] Response caching with Redis (TMDB data doesn't change frequently)
|
||||
- [x] Rate limiting with ThrottlerModule
|
||||
- [x] Health check endpoint
|
||||
- [x] Basic error handling and logging
|
||||
|
||||
## Phase 2 — Scoring & Polish
|
||||
|
||||
- [x] Game session creation endpoint (POST /api/v1/games)
|
||||
- [x] Game session retrieval endpoint (GET /api/v1/games/:id)
|
||||
- [x] Score calculation service (base + chain + time + obscurity - penalties)
|
||||
- [x] Game completion endpoint (POST /api/v1/games/:id/complete)
|
||||
- [x] Prisma migrations for GameSession model
|
||||
- [x] Input validation with class-validator across all endpoints
|
||||
|
||||
## Phase 3 — Daily Challenge & Social
|
||||
|
||||
- [x] Daily challenge generation service (BFS shortest path via TMDB data)
|
||||
- [x] Daily challenge queue job (BullMQ + RabbitMQ for background processing)
|
||||
- [x] Daily challenge endpoint (GET /api/v1/daily-challenges/today)
|
||||
- [x] Daily challenge history endpoint (GET /api/v1/daily-challenges)
|
||||
- [x] Leaderboard endpoints (GET /api/v1/leaderboards/daily, weekly, all-time)
|
||||
- [x] Leaderboard entry submission (POST /api/v1/leaderboards)
|
||||
- [x] User authentication (JWT + passport-local for login, passport-jwt for protected routes)
|
||||
- [x] User registration endpoint (POST /api/v1/auth/register)
|
||||
- [x] User login endpoint (POST /api/v1/auth/login)
|
||||
- [x] User profile endpoint (GET /api/v1/users/me)
|
||||
- [x] Streak tracking service
|
||||
- [x] Prisma migrations for DailyChallenge, LeaderboardEntry models
|
||||
|
||||
## Phase 4 — Multiplayer & Expansion
|
||||
|
||||
- [x] Versus mode matchmaking (WebSocket gateway or RabbitMQ-based)
|
||||
- [x] Real-time game sync for versus mode
|
||||
- [x] Difficulty tier configuration and movie pool management
|
||||
- [x] Achievement/badge system (define achievements, track progress, award)
|
||||
- [x] User profile CRUD (update display name, avatar)
|
||||
- [x] Global leaderboard aggregation (daily, weekly, all-time)
|
||||
- [x] Admin endpoints for challenge curation and moderation
|
||||
- [x] Prisma migrations for Achievement, UserAchievement models
|
||||
- [x] PII field encryption audit (ensure @encrypted annotations on sensitive data)
|
||||
- [x] API documentation with Swagger (complete all endpoint descriptions)
|
||||
Reference in New Issue
Block a user