maternal & child health assistant for Rwanda — guiding mothers from pregnancy to age 5 with multilingual support, growth tracking, mental health tools, and carrier billing via MTN/Airtel.
# MubyeyiCare Backend API
Smart Maternal & Child Health Assistant — Node.js + TypeScript + Prisma
---
## Project Structure
```
mubyeyicare-backend/
├── prisma/
│ ├── schema.prisma # Full database schema (20+ models)
│ └── seed.ts # Database seed data (admin, tips, workers)
│
├── src/
│ ├── config/
│ │ ├── env.ts # Zod-validated environment variables
│ │ ├── logger.ts # Winston logger
│ │ └── prisma.ts # Prisma client singleton
│ │
│ ├── controllers/
│ │ ├── auth.controller.ts
│ │ ├── mother.controller.ts
│ │ ├── child.controller.ts
│ │ ├── health.controller.ts
│ │ ├── payment.controller.ts
│ │ ├── insight.controller.ts
│ │ └── chat.controller.ts
│ │
│ ├── services/
│ │ ├── auth.service.ts # JWT, bcrypt, OTP, refresh tokens
│ │ ├── mother.service.ts # Profile, pregnancy, ANC, mood
│ │ ├── child.service.ts # Child, growth, feeding, activity, cry
│ │ ├── health.service.ts # Symptoms, rule engine, mental health, tips
│ │ ├── payment.service.ts # Carrier billing (MTN/Airtel), subscriptions
│ │ ├── insight.service.ts # B2G aggregated district reports
│ │ └── chat.service.ts # Premium specialist chat sessions
│ │
│ ├── middlewares/
│ │ ├── auth.middleware.ts # JWT Bearer token verification
│ │ ├── authorize.middleware.ts # Role-based access control
│ │ ├── validate.middleware.ts # Zod request body validation
│ │ ├── error.middleware.ts # Global error + Prisma error handling
│ │ ├── rate-limit.middleware.ts # Global / auth / payment rate limits
│ │ └── request-logger.middleware.ts
│ │
│ ├── routes/
│ │ ├── index.ts # Mounts all routers under /api/v1
│ │ ├── auth.routes.ts
│ │ ├── mother.routes.ts
│ │ ├── child.routes.ts
│ │ ├── health.routes.ts
│ │ ├── payment.routes.ts
│ │ ├── insight.routes.ts
│ │ └── chat.route …