RunTracker
RunTracker est une application web de suivi sportif centrée sur la course à pied, conçue pour aider les utilisateurs à enregistrer, analyser et organiser leurs sorties. Le projet combine un espace personnel simple d’utilisation avec des fonctionnalités avancées comme l’import GPX, la connexion à Strava et la visualisation des performances dans le temps. L’objectif est de proposer une expérience claire pour les coureurs réguliers qui veulent suivre leur progression sans dépendre uniquement d’une plateforme tierce.
Côté produit, l’application couvre tout le cycle d’usage : création de compte, gestion des activités, suivi des statistiques et planification d’entraînements. Côté technique, le projet met en avant une architecture Django structurée, une gestion propre des médias et des validations, ainsi qu’un front moderne avec Tailwind CSS. C’est un projet pertinent pour un portfolio car il montre à la fois des compétences backend, intégration d’API externes et conception d’une interface orientée utilisateur.
Contexte
Application personnelle de suivi de course à pied, pensée pour garder le contrôle sur ses propres données de course plutôt que de dépendre uniquement d'une plateforme tierce, tout en profitant de l'écosystème Strava pour l'import de l'historique existant.
Approche
Backend Django avec authentification via django-allauth, import de sorties au format GPX et connexion directe à l'API Strava. Visualisation des performances dans le temps (distance, allure, progression) plutôt qu'un simple journal de sorties. Interface en Tailwind CSS volontairement légère, l'essentiel de la logique restant côté serveur.
Défis techniques
Normaliser des données de course venant de deux sources différentes — fichiers GPX importés manuellement et données synchronisées depuis l'API Strava — vers un même modèle interne, pour que les statistiques et graphiques de progression restent cohérents quelle que soit l'origine de la sortie.
Résultat
Application utilisée au quotidien pour centraliser et suivre les sorties de course, avec import GPX et synchronisation Strava opérationnels.