3.1 KiB
3.1 KiB
Project Context - Le Juste Poids
Ce fichier sert de handoff rapide pour reprendre le projet dans une nouvelle conversation Copilot.
Specification metier complete:
SPEC_FONCTIONNELLE.md
1) Stack et structure
- Monorepo npm workspaces
- API: NestJS + Prisma + PostgreSQL
- Front: Next.js (App Router)
- DB locale: Docker Compose
Arborescence utile:
apps/api- backend NestJSapps/web- frontend Next.jsdocker-compose.yml- stack locale (web/api/db)
2) Commandes utiles
Installer:
npm install
Lancer toute la stack:
docker compose up --build
Build API + Web:
npm run build -w apps/api ; npm run build -w apps/web
URLs locales attendues:
- Web:
http://localhost:3002 - API:
http://localhost:3001 - DB:
localhost:5432
3) Auth et rôles
- Rôles:
ADMIN,FAMILY - Login JWT + refresh token
ADMINredirigé vers/adminFAMILYredirigé vers/predictions
4) Workflow concours (état actuel)
Le concours suit un flux en 3 phases:
OPEN
- Les participants peuvent saisir/modifier leurs pronostics.
- L'admin peut saisir/modifier les valeurs finales (outcomes).
CLOSED(après clôture)
- Les pronostics participants sont verrouillés.
- Les outcomes sont verrouillés.
- L'admin passe sur un wizard de scoring par catégorie:
- suggestions auto
- comparaison réponse finale vs réponses candidats
- validation des points étape par étape
finalized = true(validation définitive)
- Le concours est validé définitivement.
- Plus de reouverture possible.
- Côté participants, la page
/predictionsaffiche:- gagnant
- classement final
- rappel de "vos réponses"
5) Endpoints pronostics clés
Public authentifié:
GET /predictions/cardsGET /predictions/boardGET /predictions/activityGET /predictions/scoreboardGET /predictions/my-entriesPUT /predictions/cards/:cardId/my-entry
Admin:
POST /predictions/game/closePOST /predictions/game/openPOST /predictions/game/finalizePOST /predictions/cards/:cardId/outcomesPOST /predictions/cards/:cardId/suggest-scoresPATCH /predictions/entries/:entryId/scores
6) Fichiers clés à lire en priorité
Backend:
apps/api/src/predictions/predictions.controller.tsapps/api/src/predictions/predictions.service.tsapps/api/prisma/schema.prisma
Frontend:
apps/web/src/app/admin/page.tsxapps/web/src/app/predictions/page.tsxapps/web/src/lib/predictions-client.tsapps/web/src/types/predictions.ts
7) Vérifications rapides après modif
- Build API + web.
- Parcours manuel:
- Admin: outcomes en
OPEN, puis clôture, wizard de scoring, finalisation. - Family: après finalisation, vérifier affichage gagnant + vos réponses.
8) Prompt de reprise prêt à coller
Contexte projet: monorepo Le Juste Poids (NestJS API + Next.js web + Postgres). Lis PROJECT_CONTEXT.md puis inspecte les fichiers clés listés. Je veux que tu poursuives le workflow de fin de concours sans casser l’existant. Commence par vérifier l’état actuel (API + front), puis propose et implémente les changements avec build de validation.