How montasir132/fit-log-app works
FITLOG lets users discover exercises, inspect details, add them to today’s plan or save them, then manage, sort, and act on those lists in My Plan. Exercise data comes from an external API; plan and saved-list state is held in React context. The README documents moving saved exercises into the plan and completion/removal actions. Some route and component wiring is based on README capabilities because those source files were not sampled; no persistent store is shown.
Main entry points: exerciseContext.tsx Exercise state · my-plan/page.tsx My Plan page · [id]/page.tsx Exercise detail route · ExerciseLibDetailsCard.tsx Exercise details
Components 17
Exercise discovery
- Workout page
src/app/page.tsx - Exercise library
src/components/workouts/Library.tsx - Exercise detail route
src/app/[id]/page.tsx - Exercise details
src/components/workouts/ExerciseLibDetailsCard.tsx
Plan management
- Add to plan
src/components/btnInteraction/addTodayPlanBtn.tsx - Save for later
src/components/btnInteraction/saveForLaterBtn.tsx - My Plan page
src/app/my-plan/page.tsx - Plan exercise card
src/components/myPlan/myPlanCard.tsx - Plan header
src/components/myPlan/myPlanHeader.tsx - Plan statistics
src/components/myPlan/counter.tsx
Shared UI and state
- Exercise state
src/context/exerciseContext.tsx - Navigation
src/components/universal/Navigation.tsx - Application layout
src/app/layout.tsx
Data integration
- Exercise fetch
src/components/api/apiFetch.tsx - Exercise API
- Toast notifications
Other components
- User
Connections 21
- User → Workout page: browses
- Workout page → Exercise library: renders
- User → Exercise detail route: opens exercise
- Exercise detail route → Exercise fetch: requests exercises
- Exercise fetch → Exercise API: fetches data
- Exercise detail route → Exercise details: renders exercise
- Exercise details → Add to plan: offers action
- Exercise details → Save for later: offers action
- Add to plan → Exercise state: updates plan
- Save for later → Exercise state: updates saved list
- User → My Plan page: manages lists
- My Plan page → Exercise state: reads and updates
- My Plan page → Plan exercise card: renders exercises
- My Plan page → Plan statistics: provides exercises
- My Plan page → Plan header: renders
- Plan exercise card → Exercise state: dispatches actions
- Navigation → Exercise state: reads list counts
- Application layout → Exercise state: provides state
- Application layout → Navigation: renders
- Exercise state → Toast notifications: shows feedback
- Save for later → Toast notifications: shows feedback