How bradtraversy/macrozone works
MacroZone is a local-first meal and macro tracker. Users enter a meal and its nutrition values, save it, then review totals and recent or complete meal lists; they can remove meals, share or copy meal data, and configure daily reminders. The graph captures the sampled route-to-storage and reminder wiring, plus README-described sharing and recent-meal capabilities whose component internals were not sampled.
Main entry points: index.tsx Home screen · meals.ts Meal storage · meals.tsx All meals screen · ReminderToggle.tsx Reminder toggle
Components 18
App navigation
- Tab navigation
src/app/(tabs)/_layout.tsx - Root layout
src/app/_layout.tsx
Meal tracking
- Add meal screen
src/app/(tabs)/add-meal.tsx - All meals screen
src/app/(tabs)/meals.tsx - Meal item
src/components/MealItem.tsx - Recent meals
src/components/RecentMeals.tsx - Meal storage
src/storage/meals.ts
Macro summaries
- Home screen
src/app/(tabs)/index.tsx - Macro totals
src/components/MacroGrid.tsx - Macro card
src/components/MacroCard.tsx - Copy summary
src/components/CopyButton.tsx - Share meals
src/components/ShareButton.tsx
Reminders
- Reminder toggle
src/components/ReminderToggle.tsx - Reminder scheduling
src/utils/notifications.ts
Other components
- App user
- AsyncStorage
- Clipboard
- OS notifications
Connections 21
- App user → Root layout: opens app
- Root layout → Tab navigation: mounts tabs
- App user → Add meal screen: enters meal
- Add meal screen → Meal storage: saves meal
- Meal storage → AsyncStorage: reads/writes
- App user → Home screen: views summary
- Home screen → Meal storage: loads meals
- Home screen → Macro totals: renders totals
- Macro totals → Macro card: renders metrics
- Home screen → Recent meals: renders recent list
- App user → All meals screen: views meals
- All meals screen → Meal storage: loads/clears meals
- All meals screen → Meal item: renders list
- Meal item → Meal storage: deletes meal
- Home screen → Copy summary: renders action
- Copy summary → Clipboard: copies summary
- Home screen → Share meals: renders action
- Home screen → Reminder toggle: renders toggle
- Reminder toggle → Reminder scheduling: configures reminders
- Reminder toggle → AsyncStorage: reads/writes setting
- Reminder scheduling → OS notifications: schedules/cancels