The Blood Bank Management System (BBMS) is a web-based platform designed to streamline the management of blood donations, hospital requests, and inventory tracking. By replacing manual processes with a structured digital workflow, BBMS enables hospitals and blood banks to access real-time inventory, maintain donor records, and process blood requests efficiently.
Many blood banks still rely on manual documentation, scattered information, and slow communication methods. This leads to:
- No real-time visibility of blood availability
- Delays during emergency blood requirements
- Frequent data entry errors
- Difficulty managing donors, patients, and hospital requests
- Lack of a centralized system connecting all operations
These limitations reduce the efficiency and reliability of blood bank operations.
BBMS provides an all-in-one, centralized, and secure system that handles all operations digitally. Key features include:
- Donor registration and management
- Hospital request creation and status tracking
- Real-time inventory monitoring
- Secure authentication using JWT
- Fully structured backend APIs
- Organized frontend interface for hospitals and staff
The goal is to ensure quick response times, reduce manual errors, and improve operational workflow.
- React.js
- React Router
- Axios
- Tailwind CSS
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- bcrypt for password hashing
git clone https://github.com/suraj-savle/blood-bank-management-system.gitcd backend
npm installCreate a .env file:
MONGO_URI=your_mongo_uri
JWT_SECRET=your_jwt_secret
PORT=5000Before starting the backend server for the first time, you must create an admin user.
Update the admin credentials inside the file:
node seedAdmin.jsThis will create the admin account in the database.
npm startcd ../frontend
npm install
npm run devMake sure Docker Desktop is installed and running.
docker compose up --buildAccess the app:
Frontend → http://localhost
Backend → http://localhost:3000
Seed Admin User (if needed)
docker exec -it backend node seedAdmin.jsLogin Page
Admin Dashboard
Donor ashboard
Manage Requests
Inventory Overview