How dbba0/fitforce works
FitForce is a mobile fitness app backed by an Express/MongoDB API. The main journey is athlete authentication, choosing a home or gym program, completing and logging a session, then reviewing goals and progress; premium adds nutrition, hydration, and billing. The graph also preserves profile/social and exercise-discovery capabilities visible in the repository tree. Some mobile screens and API route/controller wiring are unsampled, so those connections are limited to documented endpoints and visible runtime mounts.
Main entry points: app.js HTTP app · _layout.tsx App navigation · Session.js Session records · sessionController.js Session logic
Components 28
Mobile app
- App navigation
apps/mobile/app/_layout.tsx - Sign in
apps/mobile/app/auth.tsx - Programs
apps/mobile/app/(tabs)/workouts.tsx - Active session
apps/mobile/app/session/[id].tsx - Progress dashboard
apps/mobile/app/(tabs)/index.tsx - Goals
apps/mobile/app/(secondary)/goals.tsx - Nutrition
apps/mobile/app/(tabs)/nutrition.tsx - Social feed
apps/mobile/app/(tabs)/feed.tsx - API client
apps/mobile/lib/query-client.ts - Auth state
apps/mobile/contexts/AuthContext.tsx
Training and progress
- Program routes
apps/api/src/routes/programRoutes.js - Session routes
apps/api/src/routes/sessionRoutes.js - Session logic
apps/api/src/controllers/sessionController.js - Progress aggregation
apps/api/src/controllers/dashboardController.js - Goal routes
apps/api/src/routes/goalRoutes.js
API services
- HTTP app
apps/api/src/app.js - Auth routes
apps/api/src/routes/authRoutes.js - Session records
apps/api/src/models/Session.js - Program records
apps/api/src/models/Program.js - User records
apps/api/src/models/User.js
Premium and social
- Nutrition routes
apps/api/src/routes/nutritionRoutes.js - Billing routes
apps/api/src/routes/billingRoutes.js - Social routes
apps/api/src/routes/socialRoutes.js - User and profile
apps/api/src/routes/userRoutes.js - Nutrition logic
apps/api/src/controllers/nutritionController.js - Ymove integration
apps/api/src/services/ymoveService.js
Other components
- Athlete
- MongoDB
Connections 31
- Athlete → App navigation: uses
- App navigation → Sign in: opens
- App navigation → Programs: navigates
- App navigation → Active session: navigates
- App navigation → Progress dashboard: navigates
- App navigation → Goals: navigates
- App navigation → Nutrition: navigates
- App navigation → Social feed: navigates
- Sign in → Auth state: updates auth
- Auth state → API client: stores token
- API client → HTTP app: HTTP requests
- HTTP app → Auth routes: mounts
- HTTP app → Program routes: mounts
- HTTP app → Session routes: mounts
- HTTP app → Goal routes: mounts
- HTTP app → Nutrition routes: mounts
- HTTP app → Billing routes: mounts
- HTTP app → Social routes: mounts
- HTTP app → User and profile: mounts
- Session routes → Session logic: dispatches
- Session logic → Session records: reads and writes
- Session logic → User records: updates streak and XP
- Program routes → Program records: serves programs
- Progress aggregation → Session records: reads sessions
- User and profile → User records: reads and updates
- User and profile → Session records: reads session stats
- Nutrition routes → Nutrition logic: dispatches
- Nutrition logic → Ymove integration: requests integration
- Session records → MongoDB: persists
- Program records → MongoDB: persists
- User records → MongoDB: persists