USSD-based diabetes patient monitoring system for Kenya with automated SMS reminders, SOS alerts, and admin dashboard. Built with Node.js, Express, Africa's Talking API, and Vercel serverless deployment.
# Sickly Ignite - Diabetes Patient Monitoring System
A USSD-based diabetes monitoring system with medication reminders and SOS alerts for Kenya, built for the IEEE Tech Ignite Hackathon.
## Features
### Phase 1: Core Monitoring
- ✅ Patient registration via USSD
- ✅ Glucose and blood pressure readings
- ✅ Admin dashboard with metrics
- ✅ JSON file-based data persistence
### Phase 2: Medication Reminders
- ✅ Medication management via USSD
- ✅ Automated SMS reminders at scheduled times
- ✅ SMS-based adherence confirmation
- ✅ Adherence tracking dashboard
### Phase 3: SOS System
- ✅ Emergency contacts management
- ✅ Manual SOS trigger
- ✅ Auto-SOS for dangerous glucose levels
- ✅ SMS alerts to emergency contacts
### Phase 4: Enhanced Backend & Analytics
- ✅ Chart.js visualizations (glucose trends, medication adherence)
- ✅ Test data seeding via dashboard button
- ✅ Data export functionality (JSON)
- ✅ Clear all data functionality
- ✅ Toast notifications for user feedback
- ✅ Persistent JSON file storage
## System Architecture
```
┌─────────────────┐
│ Patient Phone │
│ *384*39981# │
│ SMS Replies │
└────────┬────────┘
│
┌────▼─────┐
│ ngrok │ (Single Tunnel - Port 8000)
└────┬─────┘
│
┌────────▼───────────────────────────────────────────────┐
│ backend.js - UNIFIED BACKEND SERVER (Port 8000) │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Dashboard │ │ Cron Reminder│ │ SMS Handler │ │
│ │ & API │ │ Scheduler │ │ /sms │ │
│ │ Endpoints │ │ (Every min) │ │ Endpoint │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ Features: │
│ - JSON data persistence - SOS alerts (via │
│ - Admin dashboard sos-alerts.js module) │
│ - Analytics & charts - Medication reminders │
│ - Test data …