Skip to content

Latest commit

 

History

705 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trace

Expo React Native TypeScript

Application mobile de suivi d'entraînement musculaire. Remplace le carnet papier : bibliothèque d'exercices, construction de séances par blocs libres, édition et réordonnancement des séries en live.

Stack

  • React Native + Expo SDK 54
  • Navigation : Expo Router (file-based)
  • Stockage : SQLite via expo-sqlite — 100 % local, zéro backend
  • Langage : TypeScript strict
  • Tests : Jest + jest-expo

Prérequis

  • Node.js ≥ 18
  • Expo CLI : npm install -g expo-cli
  • Pour iOS : Xcode + Simulateur iOS ou application Expo Go sur un vrai appareil
  • Pour Android : Android Studio + émulateur ou application Expo Go sur un vrai appareil

Lancer l'app

cd app
npm install
npm start          # ouvre le menu Expo — choisir iOS / Android / Web

Raccourcis après npm start :

Touche Action
i Ouvrir sur simulateur iOS
a Ouvrir sur émulateur Android
w Ouvrir dans le navigateur

Lancer les tests

cd app
npm test                   # une passe
npm run test:watch         # mode watch

Vérifier les types

cd app
npx tsc --noEmit

Structure

app/
├── app/              ← routes Expo Router (un fichier = un écran)
│   ├── (tabs)/       ← onglets principaux
│   └── workout/      ← écran détail séance
├── components/       ← composants UI réutilisables
├── constants/        ← couleurs et thème
├── db/               ← schéma SQLite + migrations + types
├── hooks/            ← hooks React (useWorkoutExercises, …)
├── repositories/     ← accès données (interfaces + InMemory + SQLite)
└── services/         ← logique métier (WorkoutExerciseService, …)

Fonctionnalités implémentées

  • Bibliothèque d'exercices (prédéfinis + custom)
  • Construction de séances : exercices → blocs → séries
  • Édition inline : modifier / ajouter / supprimer blocs et séries
  • Réordonnancement ↑↓ : exercices, blocs et séries
  • Conduite de séance : chrono de pause, saisie reps/poids, check-in énergie/fatigue/sommeil
  • Progression automatique des poids (Epley)
  • Historique des séances avec détail par exercice
  • Dashboard stats : volume hebdomadaire ISO, PRs récents, 1RM estimé par exercice

Documentation

  • Specs fonctionnelles : docs/specs.md
  • Architecture technique : docs/architecture.md
  • Journal de développement : docs/journal/project-log.md

About

Trace — workout tracking app that replaces the paper training log. React Native + Expo Router, local-first SQLite.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages