# Afya Diary Kenya
This is a digital health management platform connecting Patients, Community Health Volunteers (CHVs) and Chemists across Kenya.
---
## Live Demo
---
## The Overview
Afya Diary Kenya is a digital healthcare system designed to streamline health record management and improve communication among patients, CHVs, and chemists. Key capabilities include:
- OTP-based authentication
- Centralized personal health records
- Medication and prescription tracking
- CHV support workflows
- Location-based access to nearby health providers
The platform is built using the **MERN Stack** with full role-based access.
---
## Features
### Authentication
- OTP-based login (passwordless authentication)
- JWT authentication with 30-day sessions
- Automatic user account generation
- Separate role-based dashboards:
- **Patient**
- **CHV**
- **Chemist**
### Patient Features
- View and update health records
- Symptom and health diary tracking
- Medication management
- Locate nearby CHVs and chemists
- Receive CHV reminders and health tips
### CHV Features
- Manage assigned patients
- Record visit details and follow-ups
- Update vitals, symptoms, and notes
- Monitor community-level health insights
### Chemist Features
- Dispense and manage medications
- Access patient prescription history
- Verify prescriptions
- Support digital prescriptions
---
## Tech Stack
### Frontend
- React.js
- TailwindCSS
- React Router
- Axios
- React Hot Toast
- Context API
### Backend
- Node.js
- Express.js
- MongoDB + Mongoose
- JWT Authentication
- OTP service (via SMS Gateway)
- Role-based authorization middleware
---
## Project Structure
```text
/client
├── src
│ ├── pages
│ │ ├── Login.js
│ │ ├── VerifyOTP.js
│ │ ├── Dashboard.js
│ │ ├── CHVDashboard.js
│ │ └── ChemistDashboard.js
│ ├── components
│ ├── context
│ ├── utils
│ └── App.js
/server
├── controllers
│ └── authController.js
├── models
│ ├── OTP.js
│ └── User.js
├── routes
│ └ …