Abdoulrazack A.
Me contacter
Parlons de votre projet

Full-stack · Club réel2026

C.C. Salouël

Une plateforme pour un club de cyclisme, où ajouter une sortie prend quelques secondes.

Capture du projet C.C. Salouël
Rôle
Architecture, full-stack, pipeline de données
Stack
Node.js, Express, MySQL, JWT, Leaflet, BRouter, Open-Meteo, Strava OAuth

19 pages, API REST à rôles, MySQL, génération automatique de parcours (routage vélo BRouter, altitude, GPX, profil coloré par pente), météo et vue satellite synchronisée au tracé. Mon premier projet pensé comme un système plutôt que comme des pages.

19pages
32sorties cataloguées
272points d’intérêt
3rôles

Le contexte

Un vrai club, un vrai besoin : centraliser sorties, parcours et informations membres dans un seul endroit. Mon premier full-stack à cette échelle, de l’architecture jusqu’au schéma de base.

Le projet qui m’a appris à penser « système » plutôt que « page ».

Un pipeline d’import automatique

Plutôt que de saisir chaque parcours à la main, toute la chaîne est automatisée : import (GPX, tableur Excel du club), routage vélo réel via BRouter avec l’altitude, génération du fichier GPX et du profil altimétrique coloré selon la pente.

Ajouter une sortie devient une opération de quelques secondes ; chaque sortie arrive avec sa carte, son tracé, son dénivelé et sa météo.

Une page parcours : carte Leaflet, tracé, profil de pente.
Une page parcours : carte Leaflet, tracé, profil de pente.

Sous le capot

  • Front vanilla, Express, MySQL
  • Auth JWT + bcrypt, trois rôles (admin, modérateur, membre), OAuth Strava
  • Import → routage BRouter → altitude → GPX → profil de pente
  • Leaflet + couche satellite, 272 points d’intérêt
  • Audit de sécurité traité : sanitation HTML, chiffrement des jetons, vérification des images par signature
Projet suivantInkStudio Un studio d’animation tableau blanc dans le navigateur : scènes, voix off, export MP4.