SportSee

Dashboard d'analytics pour une application de suivi sportif.

ReactTypeScriptViteRechartsTailwind CSS
SportSee

Aperçu du projet

SportSee est un projet de formation pour le suivi des performances sportives développée avec React, TypeScript et Vite. Cette application permet aux utilisateurs de visualiser leurs données sportives et nutritionnelles à travers différentes représentations graphiques interactives.

Technologies utilisées

  • Frontend : React 18 avec TypeScript
  • Build tool : Vite
  • Styles : Tailwind CSS
  • Graphiques : Recharts
  • Linting : ESLint

Fonctionnalités principales

L'application propose un tableau de bord complet avec plusieurs visualisations de données :

  1. Activité quotidienne : Graphique à barres montrant le poids et les calories brûlées
  2. Durée moyenne des sessions : Graphique linéaire présentant l'évolution des sessions d'entraînement
  3. Performance : Graphique radar illustrant les différentes catégories de performance (cardio, énergie, endurance, etc.)
  4. Score : Graphique radial indiquant le pourcentage d'objectif atteint
  5. Informations nutritionnelles : Cartes présentant les apports en calories, protéines, glucides et lipides

Architecture du projet

Le projet est structuré selon une architecture moderne et modulaire :

Structure des dossiers

  • components/ : Composants React organisés par fonctionnalité
    • dashboard/ : Composants du tableau de bord (graphiques, cartes)
    • layout/ : Composants de mise en page (header, sidebar)
  • hooks/ : Hooks personnalisés pour la gestion des données
  • utils/ : Fonctions utilitaires, types et couche d'accès aux données

Utilisation

Sélection d'utilisateur

Pour accéder aux données d'un utilisateur spécifique, ajoutez l'ID dans l'URL (https://ohminod.github.io/sportsee/?id=6) :

Les utilisateurs disponibles sont :

  • Pour les données mockées : utilisateurs 1 à 12 et 18

Sans paramètre d'URL, l'utilisateur 12 est affiché par défaut.

Design et UI

L'interface utilisateur est conçue avec un focus sur l'expérience utilisateur :

  • Design responsive adapté aux différentes tailles d'écran
  • Palette de couleurs cohérente avec l'identité sportive
  • Animations et interactions intuitives
  • Tooltips détaillés sur les graphiques pour une meilleure lecture des données

Caractéristiques techniques

  • Normalisation des données pour uniformiser l'affichage
  • Gestion des états de chargement avec animations
  • Personnalisation avancée des graphiques Recharts
  • Optimisations de performance React
  • Typage strict avec TypeScript

Défis techniques

  • Création d'une architecture modulaire et réutilisable.
  • Intégration de graphiques interactifs avec Recharts.
  • Gestion des données mockées pour le développement.
  • Optimisation des performances avec React et TypeScript.
  • Conception d'une interface utilisateur intuitive et responsive.
  • Mise en place d'un système de sélection d'utilisateur dynamique.

Durée

2 semaines

Équipe

1 personne

Rôle

Lead Developer

Stack

React, TypeScript, Vite, Recharts, Tailwind CSS

Fonctionnalités clés

  • Tableau de bord

    Vue d'ensemble des performances sportives.

  • Graphiques

    Représentations graphiques interactives.

  • Sélection d'utilisateur

    Changement dynamique d'utilisateur.

  • Responsive

    Design adapté à toutes les tailles d'écran.

  • Normalisation

    Uniformisation des données pour l'affichage.

Galerie du projet

Image 1 du projetImage 2 du projet
Image 1 du projet
Image 2 du projet

Découvrir d'autres projets