Skip to content

Analytics Dashboard

Le dashboard Analytics affiche des metriques et graphiques generes a partir de donnees mock deterministes.

Fichier source : frontend/src/pages/AnalyticsPage.tsxRoute : /admin/analytics

Stat Cards

4 cartes de statistiques en haut de page :

MetriqueIconeCouleur
RevenueDollarSignemerald
New UsersUsersblue
Active SessionsActivityviolet
API CallsZapamber

Chaque carte affiche la valeur, un badge de tendance (TrendBadge) avec pourcentage, et la mention "vs last month".

tsx
<TrendBadge trend="up" pct={12.5} />
// Affiche une fleche verte montante avec "12.5%"

Graphiques SVG

3 types de graphiques sont utilises, tous en SVG pur sans dependance externe.

BarChart

  • Barres verticales avec valeur au-dessus
  • Lignes de grille horizontales en pointilles
  • Labels en bas de chaque barre
  • Utilise pour : API calls par jour (7 barres)

LineChart

  • Courbe avec aire remplie semi-transparente
  • Points (dots) sur chaque valeur
  • Labels espaces automatiquement (every Nth)
  • Utilise pour : Users over time (30 points)

DonutChart

  • Anneau SVG avec arcs colores
  • Total affiche au centre
  • Legende en dessous avec pourcentages
  • Utilise pour : Traffic by source (5 segments)

Table des endpoints

Une table affiche les endpoints API les plus sollicites :

ColonneDescription
EndpointPath en font mono
MethodBadge bleu (GET, POST, etc.)
RequestsNombre formate
Avg (ms)Temps moyen de reponse

Format des donnees

Les graphiques attendent des donnees dans ce format :

typescript
// BarChart & LineChart
interface ChartDataPoint {
  label: string;
  value: number;
}

// DonutChart
interface DonutDataPoint {
  label: string;
  value: number;
  color: string; // hex color
}

Donnees mock deterministes

Les donnees sont generees par une fonction seededRandom(42) pour garantir des valeurs stables entre les rendus :

tsx
const data = useMemo(() => generateMockData(), []);

Released under the MIT License.