Skip to content

Tamiir/Peak

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Peak - Application de visualisation de trajets montagneux

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.

Structure du projet

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.

Configuration requise

  • Python 3.8+
  • Node.js 16+
  • Npm ou Yarn
  • Un compte développeur Strava avec une application enregistrée

Installation et démarrage

Méthode simplifiée (recommandée)

Utilisez le script de démarrage automatisé qui configure et lance à la fois le backend et le frontend :

./start.sh

Installation manuelle

Backend

  1. Accédez au répertoire du backend :
cd backend
  1. Créez un environnement virtuel Python :
python -m venv venv-peak
source venv-peak/bin/activate  # Sur Windows : venv-peak\Scripts\activate
  1. Installez les dépendances :
pip install -r requirements.txt
  1. Configurez les variables d'environnement :
cp .env.example .env
# Modifiez le fichier .env avec vos clés API Strava
  1. Démarrez le serveur :
python server.py

Le serveur backend sera accessible à l'adresse : http://localhost:8000

Frontend

  1. Accédez au répertoire du frontend :
cd frontend
  1. Installez les dépendances :
npm install
# ou avec yarn
yarn install
  1. 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

Utilisation de l'application

  1. Ouvrez l'application dans votre navigateur ou sur votre appareil mobile.
  2. Accédez à "Carte avec Strava" depuis l'écran d'accueil.
  3. Connectez-vous à votre compte Strava en cliquant sur le bouton "Se connecter avec Strava".
  4. Une fois connecté, vos activités seront affichées dans une liste.
  5. Cliquez sur une activité pour afficher son parcours sur la carte.
  6. Vous pouvez télécharger le fichier GPX d'une activité (version web uniquement).

Intégration du backend et du frontend

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

Développement et personnalisation

Ajout de nouvelles fonctionnalités

Pour ajouter de nouvelles fonctionnalités à l'application :

  1. Backend : Ajoutez de nouveaux points d'API dans server.py
  2. Frontend : Étendez le client API dans stravaClient.ts
  3. UI : Créez de nouveaux composants ou écrans dans le dossier app/screens ou app/components

Modification de l'apparence

L'application utilise le système de thème de React Native. Pour modifier l'apparence :

  1. Modifiez les fichiers de thème dans app/theme/
  2. Ajustez les styles dans les composants individuels

Résolution des problèmes

Le backend ne démarre pas

  • Vérifiez que le fichier .env est correctement configuré avec vos clés API Strava
  • Assurez-vous que les ports requis (8000 pour le backend) sont disponibles

Problèmes d'authentification Strava

  • Vérifiez les paramètres de redirection URL dans votre application Strava
  • Assurez-vous que les scopes requis sont activés pour votre application

L'application frontend ne se connecte pas au backend

  • 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

Licence

Ce projet est sous licence MIT.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published