How jagadeesh729/bodymap works
BodyMap is a local-first fitness and diet planner: users enter personal, goal, health, equipment, diet, and recovery details; the app generates a structured weekly plan, then supports plan management, guided workouts, progress analytics, and data export. The graph preserves the README’s major capabilities and uses documented subsystem paths; unsampled page and API implementations limit certainty about some internal call wiring.
Main entry points: App.tsx App router · DashboardPage.tsx Analytics dashboard · PlanContext.tsx Plan state · GymModePage.tsx Gym mode
Components 25
Application flow
- App router
src/App.tsx
Plan generation
- Plan wizard
src/pages/CreatePlanPage.tsx - Plan state
src/context/PlanContext.tsx - Plan persistence
src/context/planStorage.ts - Plan API
api/generate-plan.ts - Plan schema
src/lib/planSchema.ts - Safety guards
src/lib/planSafetyGate.ts - Weekly plan
src/pages/WeeklyPlanPage.tsx - Plan library
src/lib/savedPlansStorage.ts - Plan comparison
src/lib/planComparisonEngine.ts
Workout tracking
- Gym mode
src/pages/GymModePage.tsx - Session checkpoint
src/lib/workoutCheckpointEngine.ts - Workout history
src/lib/sessionStorage.ts - Session debrief
src/lib/sessionDebrief.ts
Athlete analytics
- Analytics dashboard
src/pages/DashboardPage.tsx - Progress engines
src/lib/goalProgressEngine.ts - Movement history
src/lib/exerciseCrossSessionEngine.ts - Body measurements
src/lib/bodyMetricsStorage.ts - Measurement trends
src/lib/bodyMeasurementTrendEngine.ts
Data vault
- Plan and data export
src/pages/DownloadPlanPage.tsx - Backup manager
src/lib/backupStorage.ts - Vault integrity
src/lib/vaultIntegrityEngine.ts - Vault manifest
src/lib/vaultManifestEngine.ts
Other components
- Athlete
- Gemini AI
Connections 30
- Athlete → App router: uses
- App router → Plan wizard: routes to
- App router → Weekly plan: routes to
- App router → Gym mode: routes to
- App router → Analytics dashboard: routes to
- App router → Plan and data export: routes to
- Plan wizard → Plan state: updates state
- Plan state → Plan persistence: persists state
- Plan wizard → Plan API: requests plan
- Plan API → Gemini AI: requests generation
- Plan API → Plan schema: validates response
- Plan schema → Safety guards: checks plan
- Plan state → Weekly plan: supplies plan
- Plan state → Plan library: manages saved plans
- Plan library → Plan comparison: provides plans
- Gym mode → Session checkpoint: saves checkpoint
- Gym mode → Workout history: records workout
- Gym mode → Session debrief: captures reflection
- Session debrief → Workout history: saves reflection
- Analytics dashboard → Workout history: reads history
- Analytics dashboard → Progress engines: calculates goals
- Analytics dashboard → Movement history: aggregates exercises
- Analytics dashboard → Body measurements: reads measurements
- Analytics dashboard → Measurement trends: calculates trends
- Plan and data export → Backup manager: exports and restores
- Backup manager → Plan persistence: reads and writes
- Backup manager → Workout history: reads and writes
- Backup manager → Body measurements: reads and writes
- Plan and data export → Vault integrity: checks integrity
- Plan and data export → Vault manifest: indexes partitions