Django web application for managing blood donations, requests, and stock.
This repository is a modernised version of an earlier open-source blood bank system. Changes in this fork focus on Python 3.12 compatibility, removal of hardcoded secrets, environment-based configuration, and clearer setup instructions.
Original project by Sumit Kumar.
This version updates dependencies, moves secrets to environment variables (django-environ), and refreshes setup documentation.
Admin
- Dashboard with stock by blood group, donor/patient counts, and pending requests
- Approve or reject donation and blood requests (stock is updated automatically)
- Manage donors and patients
Donor
- Register and log in
- Submit donation requests and track status
- Request blood when needed
Patient
- Register and request blood by group and quantity
- Track request history
- Python 3.12+
- Django
- HTML / CSS templates
- Environment configuration via
.env
- Python 3.12+ installed (ensure Add Python to PATH is checked during installation).
- Git installed.
- Clone the repository:
git clone https://github.com/KahlubDev/bloodbankmanagement.git cd bloodbankmanagement
python -m pip install -r requirements.txt
SECRET_KEY=your-secret-key-here DEBUG=True ALLOWED_HOSTS=127.0.0.1,localhost EMAIL_HOST_USER=your_email@gmail.com EMAIL_HOST_PASSWORD=your_app_password EMAIL_RECEIVING_USER=receiver_email@gmail.com
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
7 Open http://127.0.0.1:8000/
*Compatibility updates for Python 3.12+ *Hardcoded secrets removed in favour of environment variables *Dependency and setup instructions refreshed *Minor template and footer updates




