Monolithe modulaire NestJS · PostgreSQL · jalons M1–M2
etat : verification...chargement...
/v1/auth/register
Inscription (age minimum, pseudo reserve, CGU)
/v1/auth/login
Connexion — reponse en temps constant
/v1/auth/refresh
Rotation du refresh token + detection de rejeu
/v1/auth/me
Compte, roles, droits, feature flags
/v1/profiles/:handle
Profil public (sans donnee personnelle)
/v1/me/profile
Mise a jour du profil et des preferences
/v1/profiles/:handle/follow
Abonnement
/v1/search/profiles?q=
Recherche de tireurs
/v1/competitions
Calendrier — filtres, proximite, curseur
/v1/competitions/recommended
Calendrier intelligent (preferences)
/v1/competitions/:slug
Fiche competition
/v1/competitions/:id/registrations
Inscription (liste d attente si complet)
/v1/results
Resultat declare (source=declared, status=pending)
/v1/results/:id/validate
Validation organisateur -> officiel
/v1/profiles/:handle/results
Historique
/v1/me/stats/summary?scope=
Statistiques officielles ou communautaires
/v1/rankings
Classements disponibles
/v1/rankings/:slug
Palmares ordonne + evolution
/v1/rankings/:slug/me
Rang personnel ou motif de non-eligibilite