An open API service indexing awesome lists of open source software.

https://github.com/abx15/medilink


https://github.com/abx15/medilink

cloudinary-integration css express mongodb mongoose nodejs qrcode-generator react react-router tailwindcss twilio vite

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

          

# MedLink - Digital Health Records & Emergency QR Access System

A production-ready MERN application for managing digital health records with emergency QR code access.

## 📁 Project Structure

```
medilink/
├── client/ # React Frontend
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── services/
│ │ ├── utils/
│ │ ├── App.js
│ │ └── index.js
│ ├── .env
│ └── package.json

└── server/ # Node.js + Express Backend
├── config/
├── controllers/
├── middleware/
├── models/
├── routes/
├── services/
├── utils/
├── .env
├── server.js
└── package.json
```

## 🚀 Tech Stack

- **Frontend**: React, Tailwind CSS, React Router, Axios
- **Backend**: Node.js, Express.js
- **Database**: MongoDB (Atlas-ready)
- **Authentication**: JWT
- **OTP & Notifications**: Twilio (SMS + WhatsApp), Nodemailer (Email)
- **File Uploads**: Cloudinary
- **QR Codes**: Token-based secure QR generation

## ✨ Features

### Three-Role Authentication System

- **Users (Patients)**: OTP-verified registration, self-reporting, health card generation
- **Doctors**: Credential submission, admin approval required, medical record verification
- **Admins**: Doctor approval workflow, system oversight, audit logs

### Core Functionality

- ✅ Dual OTP verification (SMS + Email)
- ✅ Digital Health Card generation (Aadhaar/Ayushman style)
- ✅ QR-based emergency access (real-time data)
- ✅ Medical record management with versioning
- ✅ Doctor verification workflow
- ✅ Comprehensive notification system
- ✅ Audit logging for all critical actions

## 🛠️ Setup Instructions

### Prerequisites

- Node.js (v16+)
- MongoDB (local or Atlas)
- Git

### Backend Setup

1. Navigate to server directory:

```bash
cd server
```

2. Install dependencies:

```bash
npm install
```

3. Create `.env` file (copy from `.env.example`):

```bash
cp .env.example .env
```

4. Configure environment variables in `.env`:

- MongoDB connection string
- JWT secret
- Twilio credentials (for SMS/WhatsApp)
- SMTP credentials (for email)
- Cloudinary credentials (for file uploads)

5. Start the server:

```bash
# Development mode
npm run dev

# Production mode
npm start
```

Server will run on `http://localhost:5000`

### Frontend Setup

1. Navigate to client directory:

```bash
cd client
```

2. Install dependencies:

```bash
npm install
```

3. Create `.env` file:

```bash
cp .env.example .env
```

4. Start the development server:

```bash
npm start
```

Frontend will run on `http://localhost:3000`

## 🔐 Environment Variables

### Backend (.env)

```env
NODE_ENV=development
PORT=5000
MONGODB_URI=your-mongodb-connection-string
JWT_SECRET=your-jwt-secret
JWT_EXPIRE=7d
TWILIO_ACCOUNT_SID=your-twilio-sid
TWILIO_AUTH_TOKEN=your-twilio-token
TWILIO_PHONE_NUMBER=your-twilio-phone
TWILIO_WHATSAPP_NUMBER=your-twilio-whatsapp
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASSWORD=your-app-password
CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-api-secret
FRONTEND_URL=http://localhost:3000
QR_ENCRYPTION_KEY=your-encryption-key
```

### Frontend (.env)

```env
REACT_APP_API_URL=http://localhost:5000
```

## 📡 Documentation

- [Full API Documentation](API_DOCUMENTATION.md)
- [Frontend Component Guide](client/README.md)

## ✅ Project Status (Production Ready)

- ✅ Phase 1-6: Backend Core (Auth, Records, QR, Health Card)
- ✅ Phase 7: Notifications & Audit System
- ✅ Phase 8-10: Frontend Implementation
- ✅ Phase 11: Testing & Verification
- ✅ Phase 12: Polish & Documentation

## 🎯 Hackathon Highlights

- ✅ **Digital Identity**: Secure, tamper-proof health IDs.
- ✅ **Emergency Access**: 10ms response time for life-critical data via QR.
- ✅ **Universal Login**: Multi-role adaptive authentication.
- ✅ **Modern UX**: Glassmorphic UI with smooth animations.
- ✅ **Compliance**: Role-based access control and medical board approval workflow.
- ✅ **Audit Ready**: Full transparency on data access and modifications.

## 📝 License

ISC

## 👥 Contributors

MedLink Development Team:

- **Arun Kumar Bind** – 💡 Idea, 🖥️ Developer, MERN stack, system architecture
- **Amit Kumar Bind** – 📊 Research & Marketing, user flow analysis, hackathon strategy
- **Rajan Yadav** – 🎨 Design & Graphics, UI/UX, video editing, branding