How mup-off/mhealth works
mHealth is a multilingual maternal-health mobile assistant backed by an Express API and PostgreSQL. The main user journey is account access, pregnancy-date tracking and week-aware advice; health workers also manage ANC appointments and visit records, while administrators manage workers and assignments. The graph preserves those distinct product areas and the shared API, authentication and database layers. Some mobile-to-API links reflect documented endpoints rather than inspected screen implementation; unsampled relationships are omitted where evidence is insufficient.
Main entry points: api.ts API client · app.ts REST API router · db.ts PostgreSQL pool · login.tsx Sign-in and profile
Components 23
Mobile experience
- Sign-in and profile
mobile/app/login.tsx - Care dashboard
mobile/app/home.tsx - Pregnancy tracker
mobile/app/tracker.tsx - Health tips
mobile/app/tips.tsx - Appointment views
mobile/app/appointments.tsx - Worker workflows
mobile/app/worker.tsx - Admin and assignments
mobile/app/admin.tsx - Local reminders
mobile/src/notifications.ts - API client
mobile/src/api.ts - Token storage
mobile/src/auth/storage.ts - Language strings
mobile/src/i18n.ts
API and domain
- REST API router
backend/src/app.ts - Account access
backend/src/routes/auth.ts - User and worker records
backend/src/routes/users.ts - Pregnancy tracking
backend/src/routes/pregnancies.ts - Health advice
backend/src/routes/healthTips.ts - ANC appointments
backend/src/routes/appointments.ts - Administration
backend/src/routes/admin.ts
Shared services
- Token and role checks
backend/src/middleware/auth.ts - PostgreSQL pool
backend/src/config/db.ts
Other components
- Mother
- Health worker
- Administrator
Connections 32
- Mother → Sign-in and profile: signs in
README.md - Mother → Care dashboard: views care
README.md - Mother → Pregnancy tracker: sets dates
README.md - Mother → Health tips: reads advice
README.md - Mother → Appointment views: views visits
README.md - Health worker → Worker workflows: manages visits
README.md - Administrator → Admin and assignments: manages assignments
- Sign-in and profile → API client: requests API
mobile/app/login.tsx - Sign-in and profile → Token storage: stores token
README.md - Care dashboard → API client: loads care data
mobile/app/home.tsx - Pregnancy tracker → API client: loads and saves
mobile/app/tracker.tsx - Health tips → API client: requests advice
- Appointment views → API client: requests visits
mobile/app/appointments.tsx - Appointment views → Local reminders: schedules alerts
mobile/app/appointments.tsx - Worker workflows → API client: requests workflows
mobile/app/worker.tsx - Admin and assignments → API client: requests administration
mobile/app/admin.tsx - API client → Token storage: reads token
mobile/src/api.ts - API client → REST API router: calls REST endpoints
- REST API router → Account access: routes auth
backend/src/app.ts - REST API router → User and worker records: routes users
backend/src/app.ts - REST API router → Pregnancy tracking: routes pregnancies
backend/src/app.ts - REST API router → Health advice: routes tips
backend/src/app.ts - REST API router → ANC appointments: routes appointments
backend/src/app.ts - REST API router → Administration: routes administration
backend/src/app.ts - Account access → Token and role checks: creates tokens
backend/src/routes/auth.ts - Account access → PostgreSQL pool: queries users
backend/src/routes/auth.ts - User and worker records → PostgreSQL pool: queries records
backend/src/routes/users.ts - Pregnancy tracking → PostgreSQL pool: queries pregnancies
backend/src/routes/pregnancies.ts - Health advice → PostgreSQL pool: queries advice
backend/src/routes/healthTips.ts - ANC appointments → PostgreSQL pool: queries visits
backend/src/routes/appointments.ts - Administration → PostgreSQL pool: queries administration data
backend/src/routes/admin.ts - Language strings → Care dashboard: provides translations
mobile/app/home.tsx