Rwanda National Integrated Disease Surveillance and Response Platform (RIDSR)
# RIDSR — Rwanda National Integrated Disease Surveillance and Response
A unified digital platform enabling real-time disease monitoring, rapid outbreak response, and data-driven public health decisions across all 30 districts of Rwanda.
---
## Overview
RIDSR is a government-grade web application built for the Rwanda Ministry of Health and the Rwanda Biomedical Centre (RBC). It connects health facilities nationwide into a single surveillance network, allowing health workers, district officers, and national coordinators to report, validate, track, and respond to notifiable disease cases in real time.
---
## Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router), React 19 |
| Language | TypeScript 5 |
| Styling | Tailwind CSS 4, custom RBC design system |
| Database | MongoDB Atlas, Mongoose 9 |
| Authentication | NextAuth 5 (JWT, credentials provider) |
| Validation | Zod 4 |
| Charts | Recharts |
| PDF Reports | jsPDF + jspdf-autotable |
| Real-time | Socket.io |
---
## Architecture
```
src/
├── app/
│ ├── (home)/ # Public pages (about, faq, terms) — Navbar + Footer layout
│ ├── (main)/ # Authenticated area
│ │ ├── dashboard/ # Dashboard views (national, district, facility)
│ │ ├── login/ # Auth page
│ │ └── auth/ # Auth error handling
│ └── api/ # REST API routes
│ ├── auth/ # NextAuth handler
│ ├── cases/ # CRUD + validation + lab results
│ ├── patients/ # Patient management
│ ├── facilities/ # Facility management
│ ├── users/ # User management
│ ├── dashboard/ # Statistics endpoints
│ ├── validation/ # Validation queue
│ ├── alerts/ # Alert system
│ └── reports/ # Report generation
├── components/
│ ├── ui/ # 20 reusable components (Button, Card, Table, Chart, etc.)
│ ├── layout/ # Navbar, Sidebar, Footer, DashboardClient, Breadcrumb
│ └── dashboard/ …