A premium, full-stack MERN application designed to streamline blood donation, inventory management, and emergency response.
✨ Zero-Config Setup: This project uses SQLite for the database, so you do not need to install or configure MySQL. It works out-of-the-box!
-
Clone the repository:
git clone https://github.com/YourUsername/Blood-Bank-Management-System.git cd Blood-Bank-Management-System -
Install Dependencies (Root, Server, and Client):
# Install server dependencies cd server npm install # Install client dependencies cd ../client npm install
-
Setup Environment (Server): Create a
.envfile in theserverfolder (optional, defaults are provided):JWT_SECRET=your_super_secret_key_here
-
Start the System: Go back to the root or
serverfolder and run:# In server terminal cd server node index.js
The server will verify/create the
bloodbank.dbfile automatically on start.# In client terminal cd client npm run dev
- Check the Console: Look at the terminal running
node index.js. It will print the exact error. - Database Permissions: Ensure the
serverdirectory is writable. The app needs to create/write tobloodbank.db. - Dependencies: Ensure
bcryptjsandsqlite3are installed (npm installin server). - Re-seed: If the database seems corrupt, delete
bloodbank.dbfrom theserverfolder and restart the server. It will recreate it with fresh seed data.
- Ensure backend is running on Port 3000.
- Check
client/src/pages/Login.jsxis pointing tohttp://localhost:3000.
- Dashboard: personalized hub for donors.
- Medical Reports: Knowledge base for blood/urine tests.
- Test Scheduling: Book lab tests with nearby hospitals.
- Community: Donor Leaderboards and Success Stories.
- **Inventory: Live visual grid for blood stock.
- Emergency Response: Real-time alerts with simulated drone tracking.
- Analytics: Mock reports for collection/distribution.
- Console: Map showing nearby blood banks.
- SOS Broadcast: Instant emergency request system.
- Patient Management: Track patient requirements.
- System Overview: High-level statistics.
- User Management: Manage enrolled entities.
Use these credentials to login:
| Role | Password | |
|---|---|---|
| User (Citizen) | ravi@gmail.com |
password123 |
| Blood Bank | redcross@gmail.com |
password123 |
| Hospital | admin@nims.edu.in |
password123 |
| Admin | admin@lifelink.com |
admin123 |
/
├── client/ # React Frontend
├── server/ # Node.js Backend & SQLite DB
├── package.json # Unified start script
└── README.md # This file