How etiennehoet-ai/gym-tracker works
Gym Tracker is an offline-first Flutter workout log, with Android as a documented supported target. The visible domain spans exercise catalogue management, workout/session logging, reusable templates, history, and progression/performance views. The README explicitly documents the exercise repository and local Drift/SQLite lifecycle; other repository internals and page-to-storage wiring were not sampled, so those links are shown only where the tree and documented behavior support them.
Main entry points: app.dart App shell · app_database.dart Drift database · main.dart Flutter entry · exercises_page.dart Exercise catalogue
Components 21
App entry
- Flutter entry
lib/main.dart - App shell
lib/app/app.dart
Training workflow
- Exercise catalogue
lib/app/exercises_page.dart - Exercise details
lib/app/exercise_detail_page.dart - Exercise editor
lib/app/exercise_form_dialog.dart - Exercise model
lib/app/exercise_model.dart - Workout logging
lib/app/workout_page.dart - Session editing
lib/app/session_edit_page.dart - Workout model
lib/app/workout_model.dart
Review and planning
- Home overview
lib/app/home_page.dart - Workout history
lib/app/history_page.dart - Session details
lib/app/session_detail_page.dart - Progression view
lib/app/progression_model.dart - Performance model
lib/app/performance_model.dart - Workout templates
lib/app/templates_page.dart - Template model
lib/app/template_model.dart
Local persistence
- Drift database
lib/database/app_database.dart - Exercise repository
lib/database/exercise_repository.dart - Exercise seed
lib/database/seed_exercises.dart - Local SQLite file
Other components
- Gym tracker user
Connections 12
- Gym tracker user → Flutter entry: opens app
- Flutter entry → App shell: starts shell
- App shell → Exercise catalogue: offers catalogue
- App shell → Workout logging: offers logging
- App shell → Home overview: shows overview
- App shell → Workout history: offers history
- App shell → Workout templates: offers templates
- Exercise catalogue → Exercise details: opens details
- Exercise details → Exercise editor: edits exercise
- Exercise repository → Drift database: queries and writes
- Drift database → Exercise seed: inserts on creation
- Drift database → Local SQLite file: persists locally