Rwanda Maternal Digital Platform
# RMDP — Rwanda Maternal Digital Platform
AI-guided maternity care MVP: React + Node.js + MySQL (XAMPP).
> A midwife never asks what to do next. The system guides her through every clinical decision at the right time.
## Stack
| Layer | Technology |
|-------|------------|
| Frontend | React (Vite) + React Router |
| Backend | Node.js + Express |
| Database | MySQL via XAMPP |
| CDS | Rule-based maternal risk engine (WHO/MoH-aligned thresholds) |
## Prerequisites
- XAMPP with MySQL running
- Node.js 18+
## Database setup
1. Start **Apache** (optional) and **MySQL** in XAMPP Control Panel.
2. Import schema + seed:
```bash
C:\xampp\mysql\bin\mysql.exe -u root < C:\xampp\htdocs\eric\database\schema.sql
C:\xampp\mysql\bin\mysql.exe -u root < C:\xampp\htdocs\eric\database\seed_data.sql
```
If your MySQL root user has a password, add `-p`.
3. (Optional) Reset all demo passwords to `password123`:
```bash
cd backend
npm run seed-passwords
```
## Backend
```bash
cd backend
copy .env.example .env # or use existing .env
npm install
npm run setup:features
npm run dev
```
API:
localhost
Health:
localhost
### Environment (`backend/.env`)
```
PORT=5001
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=rmdp
JWT_SECRET=rmdp_dev_secret_change_in_production
JWT_EXPIRES_IN=12h
CORS_ORIGIN=
localhost
```
## Frontend
```bash
cd frontend
npm install
npm run dev
```
App:
localhost
### Quick start (Windows)
Double-click `start-rmdp.bat` after MySQL is running in XAMPP. It applies the feature migrations, then opens API + UI in separate terminals.
After importing the baseline schema and seed data, run this one command for every RMDP feature migration and its idempotent supporting tables:
```bash
cd backend
npm run setup:features
```
Or verify the API with:
```bash
cd backend
npm run smoke
```
## Role-specific professional dashboards
Each login lands on a **responsibility-focused workspace** ( …