Peak est une application de visualisation de trajets montagneux qui s'intègre avec l'API Strava pour afficher vos activités et parcours sur une carte interactive.
Le projet est organisé en deux parties principales :
- Backend : Un serveur Flask qui gère l'authentification Strava et l'accès aux données d'activités.
- Frontend : Une application React Native (compatible web et mobile) qui affiche les données cartographiques.
- Python 3.8+
- Node.js 16+
- Npm ou Yarn
- Un compte développeur Strava avec une application enregistrée
Utilisez le script de démarrage automatisé qui configure et lance à la fois le backend et le frontend :
./start.sh- Accédez au répertoire du backend :
cd backend- Créez un environnement virtuel Python :
python -m venv venv-peak
source venv-peak/bin/activate # Sur Windows : venv-peak\Scripts\activate- Installez les dépendances :
pip install -r requirements.txt- Configurez les variables d'environnement :
cp .env.example .env
# Modifiez le fichier .env avec vos clés API Strava- Démarrez le serveur :
python server.pyLe serveur backend sera accessible à l'adresse : http://localhost:8000
- Accédez au répertoire du frontend :
cd frontend- Installez les dépendances :
npm install
# ou avec yarn
yarn install- Démarrez l'application :
# Pour le web
npm run web
# ou
yarn web
# Pour iOS
npm run ios
# ou
yarn ios
# Pour Android
npm run android
# ou
yarn android- Ouvrez l'application dans votre navigateur ou sur votre appareil mobile.
- Accédez à "Carte avec Strava" depuis l'écran d'accueil.
- Connectez-vous à votre compte Strava en cliquant sur le bouton "Se connecter avec Strava".
- Une fois connecté, vos activités seront affichées dans une liste.
- Cliquez sur une activité pour afficher son parcours sur la carte.
- Vous pouvez télécharger le fichier GPX d'une activité (version web uniquement).
L'intégration entre le backend et le frontend est réalisée via le client API Strava situé dans :
frontend/app/services/api/stravaClient.ts
Ce client gère :
- L'authentification à Strava
- La récupération du profil utilisateur
- L'accès aux activités
- La récupération et le traitement des données GPX
Pour ajouter de nouvelles fonctionnalités à l'application :
- Backend : Ajoutez de nouveaux points d'API dans
server.py - Frontend : Étendez le client API dans
stravaClient.ts - UI : Créez de nouveaux composants ou écrans dans le dossier
app/screensouapp/components
L'application utilise le système de thème de React Native. Pour modifier l'apparence :
- Modifiez les fichiers de thème dans
app/theme/ - Ajustez les styles dans les composants individuels
- Vérifiez que le fichier
.envest correctement configuré avec vos clés API Strava - Assurez-vous que les ports requis (8000 pour le backend) sont disponibles
- Vérifiez les paramètres de redirection URL dans votre application Strava
- Assurez-vous que les scopes requis sont activés pour votre application
- Vérifiez que l'URL du backend est correctement configurée dans
stravaClient.ts - Assurez-vous que le backend est en cours d'exécution
- Vérifiez les paramètres CORS dans le serveur Flask
Ce projet est sous licence MIT.