Skip to content

Mobile application for gym workout tracking made with React Native

Notifications You must be signed in to change notification settings

Nchappui/FitApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

đŸ’Ș FitApp

Une application mobile moderne et intuitive pour gérer vos exercices, suivre vos séries et optimiser vos entraßnements.

Fonctionnalités Principales

Gestion des Exercices

  • 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

Suivi des Séances

  • 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

Interface Utilisateur

  • 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

Persistance des Données

  • Stockage local : Toutes vos donnĂ©es restent sur votre appareil
  • AsyncStorage : Sauvegarde automatique et rapide

Stack Technique

Framework & Plateforme

  • 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

Langage & Types

  • TypeScript v5.8.3 - Typage statique pour JavaScript
  • Types personnalisĂ©s - DĂ©finitions strictes pour Exercise, WorkoutSet, etc.

Navigation & UI

Stockage & Données

Gestion des Gestures & Animations

  • react-native-gesture-handler - Gestion avancĂ©e des gestes
  • react-native-reanimated - Animations fluides
  • expo-linear-gradient - DĂ©gradĂ©s modernes

Installation et Lancement

Prérequis

  • Node.js (version 18 ou supĂ©rieure)
  • npm ou yarn
  • Expo CLI (optionnel mais recommandĂ©)

Installation

# Cloner le projet
git clone <votre-repo-url>
cd FitApp

# Installer les dépendances
npm install

Lancement du Développement

# Démarrer le serveur de développement
npm start
# ou
npx expo start

Options de Prévisualisation

Sur Appareil Mobile

  1. Installez Expo Go sur votre téléphone
  2. Scannez le QR code affiché dans le terminal/navigateur

Sur Navigateur Web

# Lancer la version web
npm run web
# ou
npx expo start --web

Sur Émulateur/Simulateur

# 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 --ios

Architecture du Projet

FitApp/
├── 📁 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

Scripts Disponibles

# 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

Utilisation

Ajouter une Série

  1. Sélectionnez un exercice depuis l'accueil
  2. Appuyez sur "Ajouter une série"
  3. Renseignez le poids, répétitions, intensité et notes
  4. Validez avec "Ajouter la série"

Gérer les Favoris

  • Appuyez sur l'⭐ Ă  droite de chaque exercice
  • Utilisez le bouton "Favoris" pour filtrer
  • Les favoris sont sauvegardĂ©s automatiquement

Consulter l'Historique

  • AccĂ©dez au dĂ©tail d'un exercice
  • Appuyez sur "Voir l'historique"
  • Supprimez les sĂ©ries indĂ©sirables

Rechercher des Exercices

  • 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

Dépannage

Cache Expo

Si vous rencontrez des problĂšmes, videz le cache :

npx expo start --clear

ProblÚmes de Dépendances

Réinstallez les dépendances :

rm -rf node_modules package-lock.json
npm install

Erreurs TypeScript

Vérifiez les types et la compilation :

npm run lint
npx tsc --noEmit

Déploiement

Build de Production

# Build Android
npx expo build:android

# Build iOS
npx expo build:ios

# Build Web
npx expo build:web

About

Mobile application for gym workout tracking made with React Native

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published