Files
mybabyguess/README.md
T
2026-05-03 21:53:59 +02:00

2.0 KiB

Le Juste Poids

Monorepo contenant:

  • API NestJS (apps/api)
  • Front NextJS (apps/web)
  • Base PostgreSQL (via Docker Compose)

Demarrage rapide

  1. Installer les dependances
npm install
  1. Configurer l'environnement

Le fichier .env est deja present a la racine pour Docker Compose.

  1. Lancer toute la stack
docker compose up --build

Services:

Authentification

L'admin est un vrai compte en base de donnees. Au demarrage de l'API, un compte admin est cree (ou mis a jour) avec:

  • ADMIN_USERNAME
  • ADMIN_PASSWORD

Connexion JWT:

curl -X POST http://localhost:3001/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"change_me_admin_password"}'

La reponse contient accessToken (JWT Bearer). La reponse contient aussi refreshToken pour renouveler la session.

Renouveler la session:

curl -X POST http://localhost:3001/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{"refreshToken":"<REFRESH_TOKEN>"}'

API admin: gestion des comptes

Routes protegees par JWT + role ADMIN:

  • POST /users creer un compte
  • GET /users lister les comptes
  • PATCH /users/:id modifier username/password/role
  • DELETE /users/:id supprimer un compte

Routes utilisateur connecte (ADMIN ou FAMILY):

  • GET /users/me recuperer son profil
  • PATCH /users/me modifier son pseudo (displayName)
  • POST /users/me/photo uploader sa photo de profil (multipart file, PNG/JPG/WEBP)

Exemple creation d'utilisateur:

curl -X POST http://localhost:3001/users \
  -H "Authorization: Bearer <JWT_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"username":"maman","password":"motdepassefort","role":"FAMILY"}'

Frontend

  • / : page de login utilisateur
  • /admin : login admin + creation/liste/modification/suppression des comptes
  • /profile : page profil pour les utilisateurs non-admin (pseudo + photo)

Healthcheck API:

curl http://localhost:3001/health