Blood Donor Registry & Emergency Request Platform - Rwanda
# 🩸 BloodConnect - Full-Stack Blood Donation System
A modern, full-stack blood donation management system connecting donors with hospitals in need of blood donations.
## 🌟 Features
### For Donors
- âś… User registration and authentication
- âś… Donor profile management
- âś… Blood type and health information
- âś… Location-based donor discovery
- âś… Accept/decline blood requests
- âś… Donation history tracking
- âś… Real-time notifications
### For Hospitals
- âś… Hospital registration and verification
- âś… Create blood requests
- âś… View available donors
- âś… Approve/reject donor responses
- âś… Manage donation locations
- âś… Track request status
- âś… Donor contact information
### Admin Features
- âś… User management
- âś… Hospital verification
- âś… System statistics
- âś… Request monitoring
- âś… Donor analytics
## 🏗️ Tech Stack
### Frontend
- **React 18** - UI library
- **Vite** - Build tool
- **Tailwind CSS** - Styling
- **Axios** - HTTP client
- **React Router** - Navigation
- **Leaflet** - Maps integration
### Backend
- **Node.js** - Runtime
- **Express.js** - Web framework
- **MySQL2/Promise** - Database driver
- **JWT** - Authentication
- **CORS** - Cross-origin requests
- **Dotenv** - Environment variables
### Database
- **TiDB Cloud** - MySQL-compatible cloud database
- **SSL/TLS** - Secure connections
### Deployment
- **Vercel** - Frontend hosting
- **Render** - Backend hosting
- **TiDB Cloud** - Database hosting
## đź“‹ Prerequisites
- Node.js 16 or higher
- npm or yarn
- Git
- TiDB Cloud account (credentials provided)
## 🚀 Quick Start
### 1. Clone Repository
```bash
git clone
github.com
cd bloodconnect
```
### 2. Backend Setup
```bash
cd server
npm install
```
Create `.env` file:
```
PORT=5000
NODE_ENV=development
DB_HOST=gateway01.us-east-1.prod.aws.tidbcloud.com
DB_USER=EKBMzWXHKo28J9b.root
DB_PASSWORD=n8FlLrdof7QNiVMS
DB_NAME=sys
DB_PORT=4000
JWT_SECRET=your_secret_key_here
```
Start backend:
```bash
npm run dev
```
Backend run …