How himanshu-bhadu/fitlife---fitness-tracker works
FitLife is a fitness and nutrition tracker. Users authenticate, record meals and workouts, then review daily summaries and longer-term progress; a separate AI coach provides personalized advice. The graph follows the visible React routing and Express setup, and the sampled nutrition, workout, dashboard, and authentication controller flows. Other major capabilities are represented using paths in the tree, but their internal wiring is not inferred where source excerpts were unavailable.
Main entry points: App.jsx Page router · axios.js HTTP client · index.js Express application · auth.middleware.js JWT verification
Components 34
Web application
- Page router
client/src/App.jsx - Sign in
client/src/pages/LoginPage.jsx - Registration
client/src/pages/RegisterPage.jsx - Dashboard view
client/src/pages/DashboardPage.jsx - Workout logging
client/src/pages/WorkoutPages.jsx - Nutrition logging
client/src/pages/NutritionPage.jsx - Profile settings
client/src/pages/ProfilePage.jsx - Progress charts
client/src/pages/ProgressPage.jsx - AI coach chat
client/src/pages/AITrainerPage.jsx - HTTP client
client/src/api/axios.js
API and identity
- Express application
server/index.js - Authentication routes
server/routes/authroutes.js - Account and recovery
server/controllers/authcontroller.js - User routes
server/routes/userroutes.js - User management
server/controllers/usercontroller.js - JWT verification
server/middleware/auth.middleware.js - User records
server/models/usermodel.js
Health tracking
- Nutrition routes
server/routes/nutritionroutes.js - Nutrition tracking
server/controllers/nutritioncontroller.js - Nutrition records
server/models/nutritionmodel.js - Food search service
server/services/nutritionix.service.js - Workout routes
server/routes/workoutroutes.js - Workout tracking
server/controllers/workoutcontroller.js - Workout records
server/models/workoutmodel.js - Calorie estimation
server/services/apininjas.service.js
Coaching and insights
- Dashboard routes
server/routes/dashboardroute.js - Dashboard analytics
server/controllers/dashboardcontroller.js - AI routes
server/routes/airoutes.js - AI coaching
server/controllers/aicontroller.js - Coach response service
server/services/groq.service.js
Other components
- Fitness user
- Email delivery
- Nutritionix API
- API Ninjas
Connections 47
- Fitness user → Page router: uses
- Page router → Sign in: routes to
- Page router → Registration: routes to
- Page router → Dashboard view: routes to
- Page router → Workout logging: routes to
- Page router → Nutrition logging: routes to
- Page router → Profile settings: routes to
- Page router → Progress charts: routes to
- Page router → AI coach chat: routes to
- Sign in → HTTP client: requests
- Registration → HTTP client: requests
- Dashboard view → HTTP client: requests
- Workout logging → HTTP client: requests
- Nutrition logging → HTTP client: requests
- Profile settings → HTTP client: requests
- Progress charts → HTTP client: requests
- AI coach chat → HTTP client: requests
- HTTP client → Express application: HTTP requests
- Express application → Authentication routes: mounts
- Express application → User routes: mounts
- Express application → Nutrition routes: mounts
- Express application → Workout routes: mounts
- Express application → Dashboard routes: mounts
- Express application → AI routes: mounts
- Authentication routes → Account and recovery: dispatches
- Account and recovery → User records: reads and writes
- Account and recovery → Email delivery: sends reset link
- User routes → JWT verification: protects routes
- User routes → User management: dispatches
- User management → User records: reads and writes
- Nutrition routes → JWT verification: protects routes
- Nutrition routes → Nutrition tracking: dispatches
- Nutrition tracking → Nutrition records: reads and writes
- Nutrition tracking → Food search service: searches food
- Food search service → Nutritionix API: queries food data
- Workout routes → JWT verification: protects routes
- Workout routes → Workout tracking: dispatches
- Workout tracking → Workout records: reads and writes
- Workout tracking → Calorie estimation: estimates burn
- Calorie estimation → API Ninjas: requests estimate
- Dashboard routes → JWT verification: protects routes
- Dashboard routes → Dashboard analytics: dispatches
- Dashboard analytics → Nutrition records: reads totals
- Dashboard analytics → Workout records: reads totals
- AI routes → JWT verification: protects routes
- AI routes → AI coaching: dispatches
- AI coaching → Coach response service: requests advice