How ivzxan/nutrisyai works
NutriSyAI is a mobile nutrition app. Users authenticate and set up a health profile, then scan or log meals, manage pantry and recipes, plan meals, and track nutrition and hydration; AI assistance is an additional capability. The graph follows documented navigation and sampled screen-to-service references. Some feature screens and AI/storage integrations were not sampled, so those links are marked unverified rather than inferred as direct calls.
Main entry points: RootNavigator.js Navigation · mealService.js Meal records · pantryService.js Pantry records · firebase.js Firebase and Firestore
Components 28
App foundation
- Navigation
navigation/RootNavigator.js - Auth state
utils/AuthContext.js - Theme state
utils/ThemeContext.js - Sign in and register
screens/LoginScreen.js - Health profile
screens/HealthProfileScreen.js - Home dashboard
screens/HomeScreen.js
Food workflows
- Meal scanning
screens/ScannerScreen.js - Meal result
screens/MealResultScreen.js - Meal history
screens/MealHistoryScreen.js - Pantry management
screens/PantryScreen.js - Recipe discovery
screens/RecipesScreen.js - Meal planning
screens/MealPlannerScreen.js - AI nutrition assistant
components/AIAssistantChat.js
Health tracking
- Nutrition tracking
screens/NutritionTrackerScreen.js - Weekly health report
screens/WeeklyHealthReportScreen.js - Water tracking
screens/WaterTrackerScreen.js - Streak tracking
screens/StreakScreen.js
Application services
- Meal records
services/mealService.js - Pantry records
services/pantryService.js - Plan records
services/mealPlanService.js - Recipe data
services/recipeService.js - Water records
services/waterService.js - Authentication service
services/authService.js - Offline cache and queue
utils/offlineCache.js
Cloud and AI
- Firebase and Firestore
services/firebase.js - Supabase image storage
services/supabase.js - Gemini AI
services/gemini.js
Other components
- App user
Connections 41
- App user → Navigation: uses
README.md - Navigation → Sign in and register: routes to
navigation/RootNavigator.js - Navigation → Health profile: routes to
navigation/RootNavigator.js - Navigation → Home dashboard: routes to
navigation/RootNavigator.js - Navigation → Meal scanning: routes to
navigation/RootNavigator.js - Navigation → Meal result: routes to
navigation/RootNavigator.js - Navigation → Meal history: routes to
navigation/RootNavigator.js - Navigation → Pantry management: routes to
navigation/RootNavigator.js - Navigation → Recipe discovery: routes to
navigation/RootNavigator.js - Navigation → Meal planning: routes to
navigation/RootNavigator.js - Navigation → Nutrition tracking: routes to
navigation/RootNavigator.js - Navigation → Weekly health report: routes to
navigation/RootNavigator.js - Navigation → Water tracking: routes to
navigation/RootNavigator.js - Navigation → Streak tracking: routes to
navigation/RootNavigator.js - Sign in and register → Authentication service: authenticates
README.md - Health profile → Authentication service: updates profile
screens/HealthProfileScreen.js - Auth state → Authentication service: loads user
utils/AuthContext.js - Navigation → Auth state: reads state
navigation/RootNavigator.js - Meal scanning → Gemini AI: requests analysis
README.md - Meal scanning → Supabase image storage: uploads image
README.md - Meal result → Meal records: saves meal
screens/MealResultScreen.js - Meal history → Meal records: reads meals
screens/MealHistoryScreen.js - Pantry management → Pantry records: manages ingredients
screens/PantryScreen.js - Recipe discovery → Recipe data: loads recipes
screens/RecipesScreen.js - Recipe discovery → Pantry records: uses ingredients
screens/RecipesScreen.js - Meal planning → Plan records: manages plans
screens/MealPlannerScreen.js - Meal planning → Meal records: reads meals
screens/MealPlannerScreen.js - Meal planning → Pantry records: reads pantry
screens/MealPlannerScreen.js - Nutrition tracking → Meal records: tracks meals
README.md - Weekly health report → Meal records: summarizes meals
screens/WeeklyHealthReportScreen.js - Water tracking → Water records: records water
screens/WaterTrackerScreen.js - Streak tracking → Meal records: derives streak
README.md - AI nutrition assistant → Gemini AI: requests support
README.md - AI nutrition assistant → Meal records: uses meal context
components/AIAssistantChat.js - Authentication service → Firebase and Firestore: reads and writes
services/authService.js - Meal records → Firebase and Firestore: reads and writes
services/mealService.js - Pantry records → Firebase and Firestore: reads and writes
services/pantryService.js - Plan records → Firebase and Firestore: uses database
services/mealPlanService.js - Water records → Firebase and Firestore: uses database
services/waterService.js - Meal records → Offline cache and queue: updates cache
services/mealService.js - Pantry records → Offline cache and queue: uses offline cache
services/pantryService.js