Logo Lanfrica

Assumpta-Dev/MubyeyiCare-backend

Domain:

healthcare

Record type:

software
Creator:
Ass
Host:
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 …