📊 Documentation des routes – Statistiques (/api/stats)

Résumé

Ce groupe de routes permet de récupérer les statistiques globales, les classements individuels et d'équipes, ainsi que des données personnalisées pour chaque utilisateur. Certaines routes sont publiques, d’autres nécessitent une authentification via JWT.


🔓 GET /api/stats/general

Description : Récupère les statistiques globales du challenge.

Réponse 200

{
  "success": true,
  "data": {
    "totalParticipants": 42,
    "totalDistance": 1234.5,
    "totalTeams": 8,
    "avgDailyDistance": 56.3,
    "topActivityType": "VELO",
    "challengeDuration": 30,
    "activeDays": 27,
    "co2Saved": 234.1
  }
}

🔓 GET /api/stats/teams/rankings

Description : Récupère le classement des équipes, triées par distance totale parcourue.

Query params :

Réponse 200

{
  "success": true,
  "data": [
    {
      "rank": 1,
      "name": "Les Rouleurs",
      "totalKm": 250.4,
      "members": 5,
      "avgPerUser": 50.1,
      "badge": "gold"
    }
  ],
  "meta": {
    "total": 8,
    "page": 1,
    "per_page": 10,
    "skip": 0,
    "take": 10
  }
}

🔓 GET /api/stats/users/rankings

Description : Récupère le classement individuel des utilisateurs.

Query params :