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

https://github.com/adarsonmez/blood-donation-system

A comprehensive blood donation management platform with a Node.js backend and ReactJS frontend, built with TypeScript for managing donors, hospitals, and blood requests.
https://github.com/adarsonmez/blood-donation-system

blood-bank blood-donation mysql nodejs react rest-api

Last synced: 3 months ago
JSON representation

A comprehensive blood donation management platform with a Node.js backend and ReactJS frontend, built with TypeScript for managing donors, hospitals, and blood requests.

Awesome Lists containing this project

README

          

# Blood Donation System

A comprehensive blood donation management platform where **receptionists record donor information and blood donations**, **hospitals request blood**, and **system managers oversee and approve blood requests**. Built with TypeScript, JavaScript, and a modular backend and frontend structure.

---

## 📝 Features

### 👩‍💻 Receptionists
- Register new donors into the system.
- Log blood donation events and donor data.

### 🏥 Hospitals
- Request specific blood types and amounts.
- Track the status of blood requests.

### 🧑🏻‍💼 System Managers
- Approve or reject blood requests from hospitals.
- Manage user registrations (receptionists, hospitals, managers).

### 💉 Donors
- Donor information and donations are securely tracked.
- Donors can donate at any registered blood bank.

---

## 🗂️ Main Modules

- **Donations:** Register donors, record donations, and search donor info.
- **Orders:** Hospitals place blood orders, managers approve/reject them.
- **Blood Banks:** Track available blood types, donated units, and locations.
- **Authentication & Authorization:** Secure login for different user roles.
- **User Management:** Only managers can add new users to the system.
- **Bank Locations:** View list of blood banks and addresses.

---

## 📊 ER Diagram

![ER Diagram](/client/src/assets/plan/er.png)

---

## 📸 Screenshots

### 🟡 Logged Out Menus
![homepage](/client/src/assets/screenshoots/home.jpeg)
![champions](/client/src/assets/screenshoots/tops.jpeg)
![how-to-donate](/client/src/assets/screenshoots/locs.jpeg)
![login](/client/src/assets/screenshoots/login.jpeg)

### 🟡 Logged In Common
![manage-account](/client/src/assets/screenshoots/man_acc.jpeg)

### 🟡 Receptionist
![donate](/client/src/assets/screenshoots/donate.jpeg)

### 🟡 Hospital
![order-blood](/client/src/assets/screenshoots/order.jpeg)

### 🟡 System Manager
![register-user](/client/src/assets/screenshoots/reg.jpeg)
![manage-orders](/client/src/assets/screenshoots/man_or.jpeg)

### 🌚 Night Mode
![dark-mode](/client/src/assets/screenshoots/dark.jpeg)

---

## 🚀 Getting Started

1. **Clone the repository:**
```bash
git clone https://github.com/adarSonmez/blood-donation-system.git
cd blood-donation-system
```

2. **Install dependencies:**
- Frontend:
```bash
cd client
npm install
```
- Backend:
```bash
cd server
npm install
```

3. **Configure environment variables** and database settings as needed.

4. **Start the backend server:**
```bash
npm run start
```

5. **Start the frontend:**
```bash
npm start
```

6. **Visit** `http://localhost:3000` **to use the system.**

---

## 🛠️ Tech Stack

- **Frontend:** React (TypeScript)
- **Backend:** Node.js, Express (JavaScript/TypeScript)
- **Database:** SQL-based (see ER diagram)
- **Other:** Material UI, modular REST API

---

## 👤 Author

Created by [adarSonmez](https://github.com/adarSonmez)

---