0% found this document useful (0 votes)
4 views39 pages

PDF Report

The document presents a mini project report on the 'Blood Bank and Donor Management System' developed by students of Visvesvaraya Technological University. It outlines the system's objectives, which include automating blood donation processes, managing inventory, and facilitating donor registration and blood requests. The project aims to improve efficiency, reduce wastage, and enhance patient care through a user-friendly web-based platform.

Uploaded by

chandanack07
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views39 pages

PDF Report

The document presents a mini project report on the 'Blood Bank and Donor Management System' developed by students of Visvesvaraya Technological University. It outlines the system's objectives, which include automating blood donation processes, managing inventory, and facilitating donor registration and blood requests. The project aims to improve efficiency, reduce wastage, and enhance patient care through a user-friendly web-based platform.

Uploaded by

chandanack07
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

“JNANASANGAMA”BELAGAVI–590018

DEPARTMENT OF
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING

A Web Learning MINI PROJECT


REPORT ON

“Blood Bank And Donar Management System


SUBMITTED BY:

CHANDANA C K [4GM23AI026]

MANIKYA S J [4GM23AI060]

KHALANDAR KHAN [4GM23AI053]

COORDINATOR& GUIDE HEAD OF THE DEPARTMENT


Ms. Veena C S [Link] K
BCA., MCA B.E., [Link],Ph.D.

Srishyla Educational Trust (R), Bheemasamudra

GM INSTITUTE OFTECHNOLOGY, DAVANGERE


(Affiliated to VTU Belagavi, Approved by AICTE, New Delhi & Govt. of
Karnataka) Phone: 08192-252560,233377, 252777, Tel/Fax:
08192 233344
Srishyla Educational Trust (R), Bheemasamudra

GM INSTITUTE OFTECHNOLOGY, DAVANGERE


(Affiliated to VTU Belagavi, Approved by AICTE, New Delhi & Govt. of Karnataka)
Phone: 08192-252560,233377, 252777, Tel/Fax: 08192 233344

DEPARTMENT OF ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING

CERTIFICATE

This is to certify that the Mini project entitled “BLOOD BANK AND DONAR
MANAGEMENT SYSTEM” bonafied record of the work carried out by CHANDANA C K
[4GM23AI026], MANIKYA S J[4GM23AI060], KHALANDAR KHAN [4GM23AI053] in partial
fulfillment of the requirement for the award of degree of Bachelor of Engineering in Artificial
Intelligence and Machine Learning of the Visvesvaraya Technological University, Belagavi during
the academic year 2023–24. The Miniproject report has been approved as it satisfies the
academic requirements with respect to the internship work prescribed for Bachelor of
Engineering Degree.

HEAD OF DEPARTMENT

COORDINATOR & GUIDE

Ms. Veena C S [Link] K


BCA,MCA B.E., [Link].,PhD
ABSTRACT

The Blood Bank Donor Management System is a comprehensive software solution


designed to streamline and automate the processes related to blood donation,
inventory management, and blood distribution. It facilitates easy registration of donors,
enabling them to provide personal and health information, track their donation history,
and receive notifications for upcoming donations. This system also manages patient or
hospital requests for blood by efficiently matching demand with available blood stock.

The system is divided into three main modules: Donor, Patient/Hospital, and
Administrator. Donors can register and update their profiles, patients or hospitals can
place blood requests, and administrators oversee the entire workflow by verifying donor
eligibility, managing blood stock, and approving blood requests. This modular structure
ensures clear roles and responsibilities, enabling smooth coordination between all
parties involved.

One of the critical features of the system is real-time blood inventory management. It
maintains detailed records of blood units, including blood groups, quantities, and
expiration dates, which helps avoid shortages or wastage. Automated alerts notify
administrators about low stock levels or approaching expiration dates, enabling timely
replenishment and better blood bank management.

ii
ACKNOWLEDGEMENT
First and the foremost, I take this opportunity to express our deep sense of gratitude to
the principal Dr. Sanjay Pande M B and the esteemed institution GMIT for providing us
an opportunity to fulfill most cherished desire of reaching towards our goal.

I am highly grateful to Dr. Asha K, Head, Dept. of AI&ML, GMIT, Davangere for his kind
support, guidance and encouragement throughout the course of this Internship.

I take this opportunity to express our deep sense of gratitude to our Mini project
coordinator and guide Ms. Veena C S, Assistant Professor, Dept. of AI&ML, GMIT,
Davangere, for their kind support, guidance and encouragement throughout the course
of this Internship.

I would also like to thank all the teaching and non-teaching staff of Dept. of AI&ML for
their kind Co-operation during the course of the Internship. The support provided by
the College and Departmental library is gratefully acknowledged.

ii
CONTENTS

Chapter Page No.


No.

Abstract Acknowledgement i
Contents ii

List of figures iii

1 PREAMBLE 1

1.1 PROBLEM STATEMENT 1

1.2 THE SOLUTION 1


1.3 OBJECTIVES OF PROJECT 2
1.4 ADVANTAGES 2
1.5 LITERATURE SURVEY 3
1.6 ORGANIZATION OF REPORT 3

2 SOFTWARE REQUIREMENTS SPECIFICATION 5

2.1 FUNCTIONAL OVERVIEW 5


2.2 USER CHARCTERSTICS/ROLES 5
2.3 INPUT REQUIREMENTS 6
2.3.1 SERVER SIDE 6

iii
2.3.2 CLIENT SIDE 6
2.4 OUTPUT REQUIREMENTS 6
2.4.1 CRITICAL INFORMATION 7
2.4.2 ERROR MESSAGES 7
2.4.3 FUNCTIONAL REQUIREMENTS 7
2.5 SOFTWARE REQUIREMNTS 7
2.6 HARDWARE REQUIREMENTS 8
2.7 PROJECT CYCLE 9

3 SYSTEM DESIGN 10
3.1 PROJECT ARCHITECTURE AND DESCRIPTION 10
3.2 DATABASE DESIGN 11
3.3 SEQUENCE DIAGRAMS 11
3.4 DATA FLOW DIAGRAMS 12
3.5 FLOWCHART 12
3.6 UTILITIES 13

4 IMPLEMENTATION 14
4.1 SOFTWARE TOOLS USED 14
4.2 IMPLEMENTATION DETAILS 15

5 RESULTS 16
5.1 SNAP SHOTS OF THE PROJECT 16

6 CONCLUSION 17
6.1 CONCLUSION 17

iv
v
CHAPTER 1

PREAMBLE
Preamble

Blood is a vital component of human life, essential for survival. Blood banks play a crucial
role in collecting, testing, and distributing blood. However, manual blood bank
management systems are time-consuming and prone to errors. There is a need for an
efficient and reliable blood bank management system. This project aims to develop a
web-based blood bank management system. The system will automate blood donation,
collection, and storage management. It will ensure blood safety, reduce wastage, and
shortages. The system will provide a user-friendly online platform for donors, blood
banks, and hospitals. It will manage donor registration, blood inventory, and request
allocations. It will send reminders, provide reports, and analytics on blood donations. The
system will be developed using PHP, MySQL, and XAMPP. It will improve blood donation
management and reduce shortages. The system will benefit blood banks, hospitals, and
patients. It will provide a centralized platform for blood donation management. The
project will be completed within a specific timeframe and budget.

Problem Statement

Manual blood bank management systems are inefficient and prone to errors. Blood
shortages and wastage are common due to lack of automation. Donors face difficulties in
registering and donating blood. Blood banks struggle to manage inventory and allocate
blood efficiently. Hospitals face challenges in accessing reliable blood supplies. There is a
need for a reliable and efficient blood bank management system.

Solution

This project aims to develop a web-based blood bank management system using PHP,
MySQL, and XAMPP. The system will automate blood donation, collection, and storage
management. It will provide a user-friendly online platform for donors, blood banks, and
hospitals. The system will implement a centralized system for managing donor
registration and blood inventory. It will send reminders, provide reports, and analytics on
blood donations. It will ensure blood safety, reduce wastage, and shortages.

6
Objective of Project

The main objective of this project is to develop a web-based blood bank management
system. The system will automate blood donation, collection, and storage management.
It will provide a user-friendly online platform for donors, blood banks, and hospitals. The
system will manage donor registration, blood inventory, and request allocations. It will
send reminders, provide reports, and analytics on blood donations. The system will
ensure blood safety, reduce wastage, and shortages. It will improve blood donation
management and reduce shortages. The system will benefit blood banks, hospitals, and
patients. It will provide a centralized platform for blood donation management. The
project will be completed within a specific timeframe and budget It will benefit blood
banks, hospitals, and patients. It will provide a centralized platform for blood donation
management. It will reduce costs and improve efficiency. It will enhance patient care and
outcomes. It will improve donor satisfaction and retention.

Literature Survey

- Survey 1:
- Title: Blood Bank Management System
- Author: S. Kumar, R. K. Singh, and A. K. Singh
- Publication: International Journal of Computer Science and Information
Technology
- Year: 2020
- Limitations: The system has limited scalability and compatibility issues with
some browsers.
- Survey 2:
- Title: Automated Blood Bank Management System
- Author: P. K. Gupta, M. K. Singh, and R. K. Verma
- Publication: Journal of Healthcare Engineering
- Year: 2019
- Limitations: The system has high maintenance costs and require

7
8
CHAPTER 2

SOFTWARE REQUIREMENTS SPECIFICATION

2.1 FUNCTIONAL OVERVIEW

A Blood Bank and Donor Management System (BBDMS) is designed to streamline the
process of donor registration, blood collection, storage, inventory tracking, and blood
request management in hospitals or blood banks.
The system ensures that the right blood type is available at the right time while
maintaining donor information securely and [Link] system is designed to be
scalable and reliable, providing consistent performance across various devices and
ope2.1 USER CHARCTERSTICS/ROLES Donor Management

9
2.2 USER CHARCTERSTICS/ROLES Donor Management

Key Functions

Donor Registration:
Collects donor details such as name, age, gender, contact information,
blood group, and medical history.

Eligibility Check:
Ensures donors meet required health criteria before donation.
Donor Appointment Scheduling:
Allows donors to book donation slots.

Donation History Tracking:


Records previous donations and waiting periods (e.g., 3 months gap).

2. Blood Request & Issue Management


Functions
• Request From Hospitals / Patients:
Accepts blood requests with details like required group, units
needed, and urgency.
• Approval / Rejection:
System validates stock availability.
• Blood Issue Entry:
Records blood issued date, receiver details, and reduces inventory.

10
2.3 USER CHARCTERSTICS/ROLES Donor Management

Key Functions

Donor Registration:
Collects donor details such as name, age, gender, contact information,
blood group, and medical history.

Eligibility Check:
Ensures donors meet required health criteria before donation.
Donor Appointment Scheduling:
Allows donors to book donation slots.

Donation History Tracking:


Records previous donations and waiting periods (e.g., 3 months gap).

2. Blood Request & Issue Management


Functions
• Request From Hospitals / Patients:
Accepts blood requests with details like required group, units
needed, and urgency.
• Approval / Rejection:
System validates stock availability.
• Blood Issue Entry:
Records blood issued date, receiver details, and reduces inventory.

3. User and Staff Management


Functions
• Role-Based Login:
Admin, staff, donor.
• Admin Controls:
Manage users, approve donors, view full system reports.
• Staff Controls:
Handle donor data, update inventory, process blood requests.

4. Reporting & Analytics


Functions
• Donor List Reports
• Blood Stock Reports
11
• Blood Issue History
• Daily/Monthly Donation Reports
• Request and Fulfillment Reports

5. Blood Collection & Processing


Functions
• Blood Donation Entry:
Logs each donation event with donor ID, date, and blood type.
• Screening Results:
Adds medical screening outcomes (e.g., hemoglobin check, disease
screening).
• Component Separation:
Optionally tracks components like RBC, Plasma, Platelets.

6. Blood Inventory Management


Functions

• Inventory Update:
Automatically updates stock when new blood units are added or issued.
• Blood Group Stock Status:
Displays available units of each blood group (A+, O−, etc.).
• Expiry Tracking:
Alerts when units are nearing expiration.
• Search Blood Units:
Staff can quickly check availability by blood group and component.

12
2.4 INPUT REQUIREMENTS
The Blood Bank and Donor Management System requires accurate donor
information such as name, age, gender, contact details, blood group, and medical
eligibility to create and maintain donor profiles. The system also needs secure
login credentials, including usernames and passwords for donors, staff, and
administrators. During blood donation, staff must input details like donor ID,
donation date, collected units, and screening results to ensure proper tracking. For
managing inventory, the system requires inputs related to blood group, quantity,
storage location, and expiry dates. When processing blood requests, necessary
inputs include requester details, required blood type, number of units, and
urgency level. Staff must also enter approval or rejection status for each request.
Additionally, during blood issuance, inputs such as request ID, issued units, and
recipient information are needed. The system uses filters like date range and
blood group to generate reports. All these inputs ensure efficient donor
management, accurate inventory tracking, and timely blood distribution.

2.3.2 Client Side


The client side of the Blood Bank and Donor Management System allows users
such as donors, staff, and administrators to interact with the system through a
user-friendly graphical interface. It must provide clear options for donor
registration, blood donation entry, inventory viewing, and request submission.
Donors should be able to view their history, update information, and contact the
blood bank easily. Staff members should be able to manage donations, check
stock levels, and process blood requests efficiently. The client interface must
support smooth navigation, real-time notifications, and personalized settings for
different user roles.

2.4 Output Requirements


The output requirements focus on delivering accurate, clear, and real-time
information to users based on their interactions with the system. The system
must display updated blood stock levels, donor eligibility results, and donation
history immediately after processing. Blood request outcomes—such as
approval, rejection, or pending status—must be shown promptly to ensure
timely response. The outputs should be well-structured, easy to read, and
visually clear, allowing staff and donors to quickly understand the information.
Additionally, the system must support customizable output options, such as
filtered reports, printable summaries, and role-based dashboards. All outputs
must reflect the current data stored in the system to maintain reliability and
accuracy.

2.4.1 Critical Information


13
The Blood Bank and Donor Management System must ensure that all critical
information—such as blood availability, donor eligibility, and request status—is
processed and displayed accurately. The system should provide real-time
updates on blood stock levels and promptly reflect changes after donations or
issuances. Accurate donor health and medical screening information must be
stored and retrieved without errors, as this data directly impacts blood safety.
Any delays or inaccuracies in this critical information can affect emergency
medical needs and overall system reliability.

2.4.2 Error Messages


In the Blood Bank and Donor Management System, error messages play a key
role in guiding users and maintaining operational integrity. The system must
generate clear and concise error messages whenever issues arise, such as invalid
donor information, missing required fields, insufficient blood stock, or failed
database operations. Error messages should also appear when login
authentication fails or when unauthorized users attempt restricted operations.
These messages must be easily understandable and provide corrective guidance,
helping users resolve issues quickly without confusion.

2.4.3 Functional Requirements (Output)


The functional output requirements are essential for ensuring the system
delivers accurate and timely information to all users. The system must generate
donor profiles, display blood stock levels, and produce real-time updates on
donations and blood requests. It must map donor information to appropriate
records, update inventory automatically after each donation or issuance, and
display the results clearly on the user interface. Outputs such as stock reports,
donor lists, and issue histories must be rendered neatly and be easily accessible.
All displayed data should be up-to-date, ensuring transparency, safety, and
efficient decision-making throughout the blood bank operations.

..

2.5 SOFTWARE REQUIREMNTS


1. Operating System:
Windows 10/11, macOS, or Linux (Ubuntu preferred for development).

14
2. Programming Languages:

Php(main language for development). JavaScript

and Html (for integrating with web platforms).

TensorFlow or PyTorch for building and training the facial expression


recognition model.

Scikit-learn for additional machine learning tools and techniques.

Image Processing:
OpenCV for image processing tasks.

Data Handling:
Pandas and NumPy for data manipulation and analysis.

Web Integration:
Flask or Django for backend development.

React or Angular for frontend

development Integrated Development

Environment (IDE):Visual Studio Code,

PyCharm, or Jupyter Notebook for

development.

3. Database:

SQL (e.g., PostgreSQL).

4. Version Control:

Git for version control and collaboration.

5. Cloud Services:

AWS, Google Cloud, or Azure for deploying the model and application
(optional but recommended for scalability)

15
2.6 HARDWARE REQUIREMENTS
1. Development Machines:

Processor: Intel i5 or AMD Ryzen 5 (or better).

Memory: At least 16 GB of RAM.

Storage: SSD with at least 256 GB of available space

GPU: NVIDIA GPU (e.g., GTX 1660 or better) for faster model training

2. Server Requirements:

Processor: Intel Xeon or AMD EPYC. Memory:

At least 32 GB of RAM.

Storage: SSD with at least 1 TB of available space.

GPU: NVIDIA Tesla or equivalent for handling intensive model inference


tasks (optional but recommended for real-time applications).

2. Webcam:

High-quality webcam for capturing facial expressions during testing and


integration phases.

3. Additional Peripherals:

High-resolution monitor for better development experience.

Reliable internet connection for accessing online resources, cloud


services, and collaboration tools.

2.7 PROJECT CYCLE


• Project Planning and Requirements Gathering
• System Design
• Development
16
• Testing
• Maintenance and Updates
• Evaluation and Review

[Link] Machines:

Processor: Intel i5 or AMD Ryzen 5 (or better).

Memory: At least 16 GB of RAM.

Storage: SSD with at least 256 GB of available space


GPU: NVIDIA GPU (e.g., GTX 1660 or better) for faster model training

3. Server Requirements:

Processor: Intel Xeon or AMD EPYC. Memory:

At least 32 GB of RAM.

Storage: SSD with at least 1 TB of available space.

GPU: NVIDIA Tesla or equivalent for handling intensive model inference


tasks (optional but recommended for real-time applications).

17
18
CHAPTER-3
SYSTEM ANALYSIS
Fig 3.3.1: Sequence

The donor initiates the flow by opening the registration page in a browser. The Web UI
displays a form and the donor fills it with personal and medical details. Upon submitting,
the UI sends a POST request to the server. The server validates the input (e.g., required
fields, age eligibility, blood group format). If validation passes, the server inserts the
donor record into the database and returns a success response with a generated
donor_id. The UI then shows a confirmation message. If validation fails, the server returns
errors and the UI displays them to the donor.

When a donor donates blood, the phlebotomist labels the bag (assigns bag_id) and
records the donation via the web interface. The server stores the donation entry in the
donations table. The sample is sent to the lab, where lab staff run required tests. Lab staff
update the donation record with test results. If the sample passes testing, the server
creates an inventory record (with expiry_date set according to component type). If the
sample fails, the donation is marked rejected and not added to inventory.

Hospitals submit requests through the hospital UI, which creates a requests record in the
database with status pending. Staff review pending requests from their dashboard. When
staff approve a request, the server queries the inventory for matching available bags
(prioritizing those nearest to expiry). If enough stock exists, the server updates selected
inventory records to issued and marks the request as fulfilled, including staff details and
timestamp. The hospital is notified of fulfillment. If stock is insufficient, the request is
marked denied and the hospital is notified with details.

19
3.1 PROJECT ARCHITECTURE AND DESCRIPTION

Database Design
• Users Table: Stores system user profiles.
Columns: UserID, Username, Email, PasswordHash, Role, ContactNumber.

• Donors Table: Stores detailed donor information.


Columns: DonorID, Name, Age, Gender, BloodGroup, Address, Phone,
MedicalHistory, LastDonationDate.

• Donations Table: Records all blood donation activities.


Columns: DonationID, DonorID, DateOfDonation, UnitsCollected,
ScreeningResults, Remarks.

• Inventory Table: Manages the available blood stock.


Columns: InventoryID, BloodGroup, UnitsAvailable, StorageLocation, ExpiryDate.

• Blood Requests Table: Stores blood requests submitted by hospitals or patients.


Columns: RequestID, RequesterName, RequiredBloodGroup, UnitsNeeded,
ContactDetails, RequestDate, Status.

• Issuance Table: Records the issuance of blood units from inventory.


Columns: IssueID, RequestID, UnitsIssued, IssuedTo, IssueDate, StaffID.

• Reports Table: Logs generated system reports for administrative use.


Columns: ReportID, GeneratedBy, ReportType, GeneratedDate.

• Notifications Table: Stores alerts for donors, staff, and admin.


Columns: NotificationID, UserID, Message, Timestamp, Status.

• Audit Log Table: Tracks all key system actions for monitoring and security.
Columns: LogID, UserID, ActionType, Description, Timestamp.

20
SEQUENCE DIAGRAMS

Fig 3.3.1: Sequence diagram

This diagram represents the interaction flow within a Blood Donation System. The user
can search for donors, and the system retrieves and displays donor details from the donor
module. The admin is responsible for adding new donors to keep the donor database
updated. Similarly, the user can search for nearby or available blood banks, and the blood
bank module responds by providing the requested information. The admin also manages
blood bank records by adding new blood banks into the system. Overall, the diagram
illustrates how users retrieve information while the admin maintains the system data.

21
3.2 DATA FLOW DIAGRAMS

Fig 3.2.: Data Flow Diagram


the Blood Bank Management System. The Admin interacts with the system by
logging in, which sends credentials to the process. If the admin forgets the password, the
system triggers the process, which sends a recovery email to the user. After successful
login, the system checks the admin's access roles through the process. Based on the
admin’s permissions, process allows access to various management functions such as
managing blood details, donor details, group details, stock details, order and sell details,
and generating reports. The admin can also manage system admins, assign user roles,
and update user permissions. Overall, the diagram shows how data flows between login,
verification, module access, and different management tasks performed by the admin.

22
23
CHAPTER 4
IMPLEMENTAION

1.1 SOFTWARE TOOLS USED


For this Blood Bank & Donor Management System project (PHP + SQL + XAMPP):
1. Programming Languages
• PHP — server-side logic, APIs, form handling, business rules.
• SQL (MySQL / MariaDB) — relational database to store donors, donations,
inventory, requests, logs.
• HTML / CSS / JavaScript — front-end UI.
2. Libraries, Frameworks & Helpers
• Bootstrap — responsive UI components.
• jQuery / Axios / Fetch API — AJAX for async form submissions and updates.
• PHPMailer — sending email notifications (donation confirmation, expiry alerts).
• Composer — PHP dependency management (if using 3rd-party PHP packages).
• Dotenv (php dotenv) — manage environment variables (DB credentials) in
development.
3. Database Management / Tools
• phpMyAdmin (bundled with XAMPP) — DB administration, import/export SQL.
• MySQL / MariaDB — database server running under XAMPP.
4. Development Environments
• XAMPP — Apache + MySQL + PHP local server for development and testing.
• VS Code / PhpStorm / Sublime Text — code editors/IDEs.
5. Deployment & Containerization (optional)
• Docker — containerize app for easier deployment (optional).
• FTP / cPanel — ways to deploy to shared hosting if not using Docker.
6. Version Control
• Git / GitHub or GitLab — source control and collaboration.
7. Utilities / Extras
• Cron / Task Scheduler — scheduled tasks (e.g., expiry checks, daily reports).
• SSL / HTTPS (for production) — secure data in [Link] tools / mysqldump

24
1.2 IMPLEMENTATION DETAILS
Below is a practical, step-by-step outline for implementing the Blood Bank & Donor
Management System with PHP + MySQL on XAMPP.
A. Database design (recommended core tables)
Donors
• donor_id (PK, INT AUTO_INCREMENT)
• first_name, last_name, dob, gender
• blood_group (A+, O-, etc.)
• contact_no, email, address
• last_donation_date, status (active/inactive)
• created_at, updated_at
Donations
• donation_id (PK)
• donor_id (FK)
• donation_date, unit_ml
• blood_group, bag_id
• tested (yes/no), test_results (nullable)
• collected_by, notes
Inventory
• inventory_id (PK)
• bag_id (unique), blood_group
• component (whole blood / platelets / plasma)
• quantity_units, collection_date, expiry_date, status (available/issued/expired)
Requests (for hospitals/patients)
• request_id (PK)
• requester_name, hospital_name, contact
• blood_group, component, units_requested
• request_date, status (pending/approved/denied/fulfilled)
Users (system users / staff)
• user_id, username, password_hash, role (admin/staff/lab)
25
• email, created_at
Logs / Audit
• log_id, user_id, action, details, timestamp

B. Backend (PHP) — core functionality


1. Connection & DB access
o Use PDO (preferred) or MySQLi with prepared statements (prevents SQL
injection).
o Store DB credentials in a .env or a separate config file (not in public repo).
2. Registration & Donor CRUD
o Forms for adding/updating donors with server-side validation (age check,
required fields).
o Upload optional donor photo (validate file type, file size).
3. Donation flow
o Create donation record → run tests (lab updates tested & test_results) →
on pass, add to Inventory with expiry_date calculated by component type.
4. Inventory Management
o Dashboard showing grouped inventory by blood group and soon-to-expire
items.
o Use SQL queries to filter by expiry_date <= CURDATE() + INTERVAL X DAY.
o Actions: mark issued, mark expired, reduce quantity, update status.
5. Request / Issuance workflow
o Hospitals submit requests → staff reviews → checks inventory → fulfill
(issue specific bag_ids), update [Link] and create issuance
record.
6. Authentication & Role-Based Access
o Login/logout with session handling.
o Roles control access (e.g., only lab can mark tests, only admin can delete).
7. AJAX & Real-time feel
o Use AJAX calls for quick checks (e.g., check donor eligibility, live inventory
counts) to improve UX without full page reloads.
8. Reporting & Exports
26
o Generate reports (donations per month, inventory snapshot, donor
history) and allow CSV/Excel export via PHP.
9. Notifications
o Send email notifications using PHPMailer for confirmations, expiry alerts,
donor reminders.
o Optionally integrate SMS via a provider API for urgent requests.
10. Scheduled Jobs (Cron)
• Cron job to scan inventory for upcoming expiries and auto-notify staff or move
items to expired.

C. Security & data integrity


• Always use prepared statements (PDO) to prevent SQL injection.
• Hash passwords with password_hash() / password_verify() (bcrypt).
• Validate & sanitize all inputs on server side even if validated on client.
• Protect file upload directories; store uploaded files outside webroot or assign
unique filenames.
• Use HTTPS in production and secure session cookies.
• Implement role-based access and logging for audit trails.

D. Development & deployment with XAMPP


1. Local dev: Install XAMPP, place project in xampp/htdocs/your_project.
2. DB: Create database via phpMyAdmin and import initial SQL schema.
3. Config: Set DB credentials in a config file (e.g., [Link]) or .env.
4. Testing: Test all flows (donor registration → donation → inventory → request →
issuance).
5. Backup: Use mysqldump or phpMyAdmin export before major changes.
6. Production: Move to a LAMP server / host with PHP & MySQL, secure with SSL,
and update config.

E. Optional enhancements
• Mobile-friendly UI / PWA for staff on phones.

27
• RESTful API endpoints for external hospital systems to place requests.
• Barcode/QR generation for blood bag tracking.
• BI dashboard (charts) using [Link] for donation trends and inventory analytics.
• Two-factor authentication for admin accounts.

28
CHAPTER 5
RESULTS

5.1 SNAP SHOTS OF THE PROJECT

29
30
31
32
CHAPTER :6 CONCLUSION AND FUTURE ENHANCEMENT

CONCLUSION AND FUTURE ENHANCEMENT


This project has provided an excellent opportunity to design, develop, test, and implement
a functional Blood Bank and Donor Management System. Through this work, I was able to
apply various Software Engineering principles and essential Database Management
concepts such as maintaining data integrity, consistency, and security. The project also
strengthened my technical skills by giving me hands-on experience with technologies such
as MySQL, PHP, HTML, JavaScript, Adobe Photoshop 7.0, and the XAMPP Personal
Web Server environment. Overall, this project has enhanced both my theoretical
understanding and practical abilities in full-stack web development.
I express my sincere gratitude to my project guide for his valuable guidance, continuous
support, and encouragement throughout the development of this system. I also extend my
heartfelt thanks to my parents and friends, whose motivation and assistance helped me
successfully complete this project.
Extensibility
This system can be further expanded by incorporating additional features offered by
modern blood bank services. Enhanced encryption techniques may be integrated to secure
sensitive data and protect user information. Advanced security protocols such as SSL
(Secure Socket Layer) can also be implemented to ensure safer transactions and increase
the reliability of the system during communication over the internet. By adding these
features, the application can become more robust, scalable, and highly secure.
Future Enhancement
At present, the application contains a limited number of contact sources, which may make
it difficult for users to quickly locate the required blood in emergency situations. In future
versions, I plan to expand the system by gathering more donor and contact information
from various cities and rural areas. This will help build a wider and more reliable donor
network. Additionally, more user-friendly services and communication features can be
integrated so that the system can better serve people in need and promote humanitarian
support on a broader scale.

BIBLIOGRAPHY
Reference Books and Journals
1. PHP and MySQL Web Development
2. The Complete Reference: PHP
Online References
• [Link]
• [Link]
33
• [Link]

34
35
36

You might also like