How prattyush09/trainiq works
TrainIQ is a React fitness tracker whose main flow is account access to a personalized dashboard, then workout, nutrition, and progress tracking. The dashboard’s recommendation logic builds user context from profile and activity data; scoring evaluates training, nutrition, consistency, and optional hydration coverage. Workout sessions persist resumable progress and completions. The README also documents profile setup, targets, water history, and analytics. Firebase-backed services and a Gemini briefing endpoint are represented where evidenced; page-to-service wiring is not inferred from the sampled excerpts.
Main entry points: App.jsx Routes & access · userService.js Profile service · Dashboard.jsx Dashboard · WorkoutSession.jsx Workout session
Components 20
Application
- Routes & access
frontend/src/App.jsx - Dashboard
frontend/src/pages/Dashboard.jsx - Profile & targets
frontend/src/pages/Profile.jsx - Profile setup
frontend/src/pages/ProfileSetup.jsx - Preferences
frontend/src/pages/Settings.jsx
Training
- Workout programs
frontend/src/pages/Workouts.jsx - Workout library
frontend/src/data/Workouts.js - Workout session
frontend/src/pages/WorkoutSession.jsx - Workout history & streak
frontend/src/services/workoutService.js
Nutrition & Progress
- Recommendation engine
frontend/src/services/recommendationEngine.js - TrainIQ score
frontend/src/services/scoreService.js - Diet & hydration
frontend/src/pages/Diet.jsx - Diet history
frontend/src/services/dietService.js - Progress analytics
frontend/src/pages/Progress.jsx
Persistence & Integrations
- Firebase Auth
- Profile service
frontend/src/services/userService.js - Cloud Firestore
- AI briefing endpoint
frontend/api/gemini.js
Other components
- Fitness user
- Gemini AI
Connections 23
- Fitness user → Routes & access: opens
- Routes & access → Firebase Auth: checks identity
- Routes & access → Dashboard: routes to
- Routes & access → Workout programs: routes to
- Routes & access → Workout session: routes to
- Routes & access → Diet & hydration: routes to
- Routes & access → Progress analytics: routes to
- Routes & access → Profile & targets: routes to
- Routes & access → Profile setup: routes to
- Routes & access → Preferences: routes to
- Dashboard → Recommendation engine: uses recommendation
- Dashboard → TrainIQ score: uses score
- Recommendation engine → Workout library: selects workout
- Workout programs → Workout library: displays program
- Workout session → Workout library: loads exercises
- Workout session → Cloud Firestore: reads/writes progress
- Workout history & streak → Cloud Firestore: reads history
- Diet history → Cloud Firestore: reads diet logs
- Profile service → Cloud Firestore: reads/writes profile
- Profile & targets → Profile service: profile data
- Profile setup → Profile service: profile data
- Preferences → Profile service: profile data
- AI briefing endpoint → Gemini AI: generates briefing