How suhaibmalam/nutrimap works
NutriMap is a country-aware nutrition and food-planning app. Its documented onboarding starts with creating an account and setting a profile and country; the landing page describes localized food prices and affordable food suggestions for nutrient shortfalls. The tree also identifies dashboard, food, and meal screens, though their behavior is not shown in the sampled source. Profile API calls are session-checked, validated on update, and delegated through a service to persistence. Edges for unsampled screens and integrations are omitted rather than inferred.
Main entry points: auth.ts Auth service · route.ts Profile endpoint · page.tsx Landing page · user-profile.service.ts Profile service
Components 22
App experience
- Landing page
src/app/page.tsx - App shell
src/app/(app)/layout.tsx
Accounts
- Registration
src/app/(auth)/register/page.tsx - Sign in
src/app/(auth)/login/page.tsx - Auth forms
src/features/authentication/components/register-form.tsx - Auth endpoint
src/app/api/auth/[...all]/route.ts - Auth service
src/lib/auth.ts
Profile and locale
- Profile settings
src/app/(app)/settings/profile/page.tsx - Profile form
src/features/settings/components/profile-settings-form.tsx - Country browser
src/app/(app)/countries/page.tsx - Country list
src/features/countries/components/country-list.tsx - Countries endpoint
src/app/api/countries/route.ts - Country service
src/services/country.service.ts - Profile endpoint
src/app/api/profile/route.ts - Profile validation
src/schemas/user-profile.schema.ts - Profile service
src/services/user-profile.service.ts - Profile repository
src/repositories/user-profile.repository.ts - Database client
src/lib/prisma.ts
Nutrition experience
- Dashboard
src/app/(app)/dashboard/page.tsx - Food catalog
src/app/(app)/foods/page.tsx - Meal tracking
src/app/(app)/meals/page.tsx
Other components
- Visitor / user
Connections 17
- Visitor / user → Landing page: visits
- Landing page → Auth service: checks session
- Visitor / user → Registration: registers
- Visitor / user → Sign in: signs in
- Auth endpoint → Auth service: dispatches
- Auth service → Database client: uses adapter
- Visitor / user → App shell: opens app
- Visitor / user → Profile settings: configures profile
- Profile endpoint → Auth service: checks session
- Profile endpoint → Profile validation: validates update
- Profile endpoint → Profile service: gets or updates
- Profile service → Profile repository: reads or upserts
- Profile repository → Database client: queries
- Countries endpoint → Country service: lists countries
- Visitor / user → Dashboard: views
- Visitor / user → Food catalog: browses
- Visitor / user → Meal tracking: tracks meals