Une application mobile moderne et intuitive pour gérer vos exercices, suivre vos séries et optimiser vos entraînements.
- Catalogue complet : Plus de 50 exercices pré-configurés avec catégories et groupes musculaires
- (TODO) Exercices personnalisés : Ajoutez et gérez vos propres exercices
- Recherche intelligente : Filtrez par nom, catégorie ou muscle ciblé
- Système de favoris : Marquez vos exercices préférés d'une étoile
- Ajout de séries : Interface moderne avec gestion du poids, répétitions et intensité
- Historique complet : Consultez toutes vos séances passées par exercice
- Statistiques rapides : Visualisez vos performances en un coup d'œil
- Suppression flexible : Retirez facilement les séries non désirées
- Design moderne : Interface épurée et responsive
- Navigation intuitive : Onglets clairs (Fitness/Cardio) avec Expo Router
- Gestion du clavier : Optimisée pour une saisie fluide
- Responsive design : S'adapte parfaitement à tous les écrans
- Stockage local : Toutes vos données restent sur votre appareil
- AsyncStorage : Sauvegarde automatique et rapide
- Expo v53.0.15 - Plateforme de développement React Native
- Expo Router v5.1.2 - Navigation file-based moderne
- React Native v0.79.4 - Framework mobile cross-platform
- TypeScript v5.8.3 - Typage statique pour JavaScript
- Types personnalisés - Définitions strictes pour Exercise, WorkoutSet, etc.
- @react-navigation/bottom-tabs - Navigation par onglets
- @expo/vector-icons - Icônes vectorielles
- expo-haptics - Retour haptique
- @react-native-async-storage/async-storage - Persistance locale
- Services personnalisés - workoutStorage, favoritesStorage
- react-native-gesture-handler - Gestion avancée des gestes
- react-native-reanimated - Animations fluides
- expo-linear-gradient - Dégradés modernes
- Node.js (version 18 ou supérieure)
- npm ou yarn
- Expo CLI (optionnel mais recommandé)
# Cloner le projet
git clone <votre-repo-url>
cd FitApp
# Installer les dépendances
npm install# Démarrer le serveur de développement
npm start
# ou
npx expo start- Installez Expo Go sur votre téléphone
- Scannez le QR code affiché dans le terminal/navigateur
# Lancer la version web
npm run web
# ou
npx expo start --web# Android (nécessite Android Studio)
npm run android
# ou
npx expo start --android
# iOS (nécessite Xcode - macOS uniquement)
npm run ios
# ou
npx expo start --iosFitApp/
├── 📁 app/ # Pages et navigation (Expo Router)
│ ├── 📁 (tabs)/ # Onglets principaux
│ │ ├── _layout.tsx # Layout des onglets
│ │ ├── index.tsx # Page Fitness (accueil)
│ │ └── cardio.tsx # Page Cardio
│ ├── 📁 exercise/ # Pages des exercices
│ │ ├── [id].tsx # Détail d'un exercice
│ │ └── 📁 history/ # Historique
│ │ └── [id].tsx # Historique d'un exercice
│ ├── _layout.tsx # Layout racine
│ └── +not-found.tsx # Page 404
├── 📁 components/ # Composants réutilisables
│ ├── FitCard.tsx # Carte d'exercice
│ ├── FitCardList.tsx # Liste des cartes avec recherche
│ ├── ExerciseSection.tsx # Section d'exercices par catégorie
│ └── AddSetModal.tsx # Modal d'ajout de série
├── 📁 data/ # Données statiques
│ └── exercises.ts # Catalogue des exercices
├── 📁 services/ # Services de données
│ ├── workoutStorage.ts # Gestion des séries
│ └── favoritesStorage.ts # Gestion des favoris
├── 📁 types/ # Définitions TypeScript
│ └── fitness.ts # Types Exercise, WorkoutSet, etc.
└── 📁 assets/ # Ressources statiques
├── 📁 images/ # Images et icônes
└── 📁 fonts/ # Polices personnalisées
# Développement
npm start # Démarrer le serveur Expo
npm run web # Lancer sur navigateur web
npm run android # Lancer sur émulateur Android
npm run ios # Lancer sur simulateur iOS
# Maintenance
npm run lint # Vérifier la qualité du code
npm run reset-project # Réinitialiser le projet- Sélectionnez un exercice depuis l'accueil
- Appuyez sur "Ajouter une série"
- Renseignez le poids, répétitions, intensité et notes
- Validez avec "Ajouter la série"
- Appuyez sur l'⭐ à droite de chaque exercice
- Utilisez le bouton "Favoris" pour filtrer
- Les favoris sont sauvegardés automatiquement
- Accédez au détail d'un exercice
- Appuyez sur "Voir l'historique"
- Supprimez les séries indésirables
- Utilisez la barre de recherche en haut de l'accueil
- Filtrez par nom, catégorie ou muscle
- La recherche est instantanée et insensible à la casse
Si vous rencontrez des problèmes, videz le cache :
npx expo start --clearRéinstallez les dépendances :
rm -rf node_modules package-lock.json
npm installVérifiez les types et la compilation :
npm run lint
npx tsc --noEmit# Build Android
npx expo build:android
# Build iOS
npx expo build:ios
# Build Web
npx expo build:web