Cette application est une interface web d'administration et d'analyse pour des donnees sante/nutrition/fitness.
Elle permet a un profil metier ou data de:
- consulter des KPI et des visualisations business,
- inspecter les donnees par domaine (nutrition, regimes, entrainements),
- modifier les lignes (CRUD) pour nettoyer les jeux de donnees,
- exporter les donnees nettoyees en CSV ou JSON.
Le front affiche un dashboard unique avec:
- un en-tete et des indicateurs KPI globaux (qualite, profils a risque, adherence, etc.),
- un panneau de nettoyage de donnees par onglet:
nutritiondietgym
- des actions de gestion sur les lignes:
- ajouter
- modifier
- supprimer
- une pagination des donnees affiches,
- un export des donnees de l'onglet courant en:
- CSV
- JSON
- un panneau Analytics avec 3 vues:
- profils sante
- nutrition
- fitness
Le frontend appelle aussi une API REST exposee sous le prefixe /api:
GET /api/dietGET /api/nutritionGET /api/gym- plus les operations d'edition pour chaque onglet:
POST /api/{tab}PUT /api/{tab}/{id}DELETE /api/{tab}/{id}
En developpement, Vite proxifie automatiquement /api vers http://localhost:8084.
- Le frontend charge les datasets via le repository du dashboard.
- Les donnees sont normalisees (noms de champs, types, formats).
- Les metriques et anomalies sont calculees cote frontend.
- L'utilisateur peut corriger les donnees depuis l'interface.
- Les modifications sont envoyees au backend via l'API REST.
- Le resultat peut etre exporte en CSV ou JSON.
- React 19
- TypeScript
- Vite
- ESLint
- Vitest
- Node.js 20+ recommande
- npm
npm installnpm run devnpm run buildnpm run previewnpm run testnpm run dev: demarre le serveur Vitenpm run build: compile TypeScript puis build Vitenpm run lint: lance ESLintnpm run preview: sert le build localementnpm run test: execute les tests unitaires
src/assets/dashboard/: composants UI du dashboardsrc/services/: logique analytics, export, repository API, data loadingsrc/types/: contrats et types du domaine
- Le projet est un frontend; il attend une API backend disponible pour les endpoints
/api/*. - Sans backend actif, les appels API echoueront sur les jeux dependants de
/api.