Skip to content

progyash/Blood_Bank_Management_System

Repository files navigation


🩸 Blood Bank Management System

This is a full-stack Blood Bank Management System project developed using HTML, CSS, JavaScript, Node.js, Express, and MySQL. The system allows for managing donors, recipients, hospitals, blood types, and transactions efficiently with a user-friendly web interface.


🔧 Features

  • Dashboard with key statistics

  • CRUD operations for:

    • Blood Types
    • Hospitals
    • Donors
    • Recipients
    • Donor Transactions
    • Recipient Transactions
  • Dynamic form-based UI

  • Responsive sidebar and dark mode support

  • Real-time toast notifications for success/errors

  • Backend RESTful API with validation and error handling

  • MySQL database schema for all entities


📁 Project Structure

├── index.html              # Main frontend interface
├── style.css               # UI styling
├── script.js               # Frontend logic and UI interactions
├── server.js               # Backend API using Express.js
├── package.json            # Node.js dependencies and scripts
├── package-lock.json       # Exact dependency versions
└── BloodBankManagementSystem.sql  # MySQL DB schema and table creation script

🚀 Getting Started

1. Clone the Repository

git clone https://github.com/your-username/blood-bank-management-system.git
cd blood-bank-management-system

2. Setup the Backend

npm install
node server.js

3. Setup the Database

  • Open MySQL and run the BloodBankManagementSystem.sql script to create and populate the database.

4. Run the Frontend

  • Open index.html in a browser.

📦 Dependencies

  • express
  • mysql2
  • cors
  • dotenv
  • body-parser

(See package.json for full list.)


🛡️ Security Notes

  • Default MySQL credentials are hardcoded in server.js. Use environment variables (.env) in production.
  • No authentication layer is implemented yet (you can enhance it).

📃 License

This project is licensed under the ISC License - free to use for educational and personal projects.