Blood Documentnew1
Blood Documentnew1
Submitted for partial fulfillment of the requirements for the award of the degree of
BACHELOR OF TECHNOLOGY
in
By
This is to certify that main project report entitled “Blood bank management
system” is a work Carried out by A. SWATHI (21K91A0510), A.
POOJITHA (21K91A0523), D. PREETHI (21K91A0559), in partial
fulfilment of the requirements for the award of degree of Bachelor of
Technology in Computer Science And Engineering from TKR
Engineering College, Hyderabad, during the Academic Year 2023-2024
under our guidance and supervision.
The Blood Bank System is to create an Information about the donor and
organization that are related to donating the blood. Through this
application any person who is interested in donating the blood can
register himself in the same way if any organization wants to register
itself with this site that can also register. Moreover, if any general
consumer wants to make request blood online, he can also take the help
of this site. This is mainly used to provide blood to the needy People
Admin is the main authority who can do Reject, Approve and
modification of blood stocks if required. The two main features of
BLOOD BANK are Donating Blood and Requesting Blood. This blood
bank is designed to gather blood from various sources and distribute it to
the needy people who have high requirements for it.
II. INDEX
Blood is essential for the proper functioning of the human body like
Oxygen Transport, PH Balance......etc. The Blood Bank Management
System project offers a user-friendly web-based platform that
integrates all aspects of blood bank operations into a centralized
system. From donor registration and blood collection to inventory
management and distribution, every step of the blood banking process
is meticulously managed and monitored through this system. The
software is designed to handle the daily transactions of the blood
bank and search the details when required It also helps to register the
details of donors, blood collection details. The software application is
designed in such a manner that it can suit the needs of all the blood
bank requirements in the course of future, Admin is the main
authority who can Perform approve, reject and modification if
required. Blood banks play a vital role in saving lives, but they often
face issues such as inefficient inventory management, donor
miscommunication, and data discrepancies. The Blood Bank System
project is developed to tackle these problems head-on. This system
offers a centralized database for donor and patient information,
automates the tracking of blood units, and provides realttime updates
on blood inventory levels. This project utilizes a MySQL databasese
to store donor and patient information, blood inventory levels, and
donation records. Developed using [specify technologies, e.g., java,
Js, SQL, and Jsp], Blood Bank ensures dataintegrity, security, and
accessibility. This system aims to minimize errors, optimize blood
utilization, and provide critical support to healthcare providers.
1.1. PROBLEM STATEMENT
1.2 OBJECTIVE
create a user-friendly platform for individuals to register as blood
donors, providing their personal details, blood type, and availability
for donation. The main aim of this Blood bank project is to provide
the blood to the required people. The main objective is to overcome
all the problems regarding the blood banks and make it available for
them 24*7.
2. LITERATURE SURVEY
LITERATURE REVIEW:
KEY FINDINGS
Automation and Efficiency: Blood bank management systems have
increasingly automated processes such as donor registration, blood
typing Quality Management: Quality control features, including built-
in validation checks and real-time monitoring of storage conditions,
were identified as essential components of modern blood bank
management systems User Experience and Accessibility: The review
highlighted the importance of user-centric design and accessibility
features in blood bank management systems Future Directions: The
review concluded with recommendations for future research,
including the exploration of emerging technologies such as IoT
(Internet of Things), AI
LITERATURE REVIEW
Title: "A Review of Blood Bank Management Systems: Current
Status and Future Directions"
Author: John Smith and Emily Johnson
General Name: Journal of Healthcare Management and Information
Systems
Year: 2020
Methodology:
This literature review involved a comprehensive search of databases
including PubMed, Scopus, and Web of Science using keywords such
as "blood bank management system," "blood inventory management,"
and "blood donation management." Relevant articles, research papers,
and conference proceedings published between 2010 and 2020 were
included. A total of 50 studies were selected for detailed analysis.
KEY FINDINGS
Current Blood Bank Management Systems: The review found that
existing blood bank management systems vary widely in terms of
features and functionalities Technological Advances: Several studies
highlighted the adoption of RFID (Radio Frequency Identification)
and barcode technology to track blood units Mobile Applications: A
growing number of blood bank management systems offer mobile
applications for donor registration, appointment scheduling, and
blood request [Link] and Future Directions: The
review identified challenges such as data security concerns,
interoperability issues, and the need for standardization.
2.2Technologies Used
Html
It's the basic technology behind everything you see in a web browser,
and it's used to build all from simple web pages to complex web
applications and services. HTML elements form the building piece of
all websites. HTML allows images and objects to be inserted.
CSS
CSS stands for Cascading Style Sheets. It is the coding language that
allows a website its look and conformation. Along with HTML, CSS
is fundamental to web design. Without it, websites would still be
plain text on white backgrounds.
JavaScript
BACK END:
SERVER:
Advantages of JSP
Disadvantages of JSP
Ease of Use: With JSP, developers can write HTML and Java code
together, making it easier to create dynamic web pages. JSP tags
simplify common tasks such as reading request parameters and
outputting dynamic content.
When you start a new project, Star UML proposes which approach
you want to use: 4+1(Kruchten), Rational, UML default or empty.
Star UML makes a Conceptual distinction between models, views
and diagrams. AModel is an element that contains information for a
software model. A view is a visible expression of the information
contained in a model, and a Diagram is a group of view elements that
represent the user’s specific design thoughts. Star UML is built as a
modular and open tool. It provides support for extendinfunctionality
of the tool. It is outlined to allow access to all functions of the
model/meta-model and tool through COM Automation and it
provides extension of menu and option items. Also, users can create
their own approaches and frameworks according to their
methodologies. The tool can also be integrated with any external
tools.
Star UML supports the following diagram type.
• Use Case Diagram
• Class Diagram
• Sequence Diagram
• State Diagram
• Activity Diagram
• Component Diagram
UML DIAGRAMS
3.2.1 Use Case Diagram
A use case diagram is a type of behavioral diagram created from a
Use-case analysis. The purpose of the use case is to present an
overview of the functionality provided by the system in terms of
actors, their goals and any dependencies between those use cases.
Description:
Class diagram depicts the various classes in the system such as user,
admin and the blog. All the attributes are declared as private and they
will not be displayed to other classes. Class diagram of admin
consists of username and password. Users have various attributes like
username, age, bloodtype, disease.
3.2.3 State Diagram
State Diagram
Description:
Fig3.2.4Activity Diagram
Description:
Activity diagram shows the workflows from initial stage to the final
stage. Starts from the home page, later authentication is performed to
the validated user and the admin. Admin can read the queries and
users can perform several operations like donate blood, request blood,
view donations/requests. Activity diagram consists of fork and join
operations.
Description:
Here the sequence diagram depicts the flow of operations performed
by the objects and interaction with the database. User registers first
and details of user are stored in the database and user is validated and
user requests, donates accordingly.
3.2.7 Component Diagram
Components are wired together by using an assembly coupling to
connect the required interface of one component with the provided
interface of another component. This illustrates the service consumer
- service provider relationship between the two components. A
gathering connector is a "connector between two components that
defines that one component provides the services that another
component requires. An assembly connector is a connector that is
defined from a required interface or port to a provided intersection or
port.
MODULE NAMES
3.3.1 Admin
3.3.2 Patient
3.3.3 Donar
Module Description
ADMIN
• Create Admin account
• After Login, can see Unit of blood of each blood group available,
Number of Donor, Number of blood request, Number of approved
requests, Total Unit of blood on Dashboard.
• Can View, the Donor.
• Can View, the Patient.
• Can View Donation Request made by donor and can approve or that
• request based on disease of donor.
• If Donation Request approved by admin, then that unit of blood added
to blood stock of that blood group. If Donation Request rejected by
admin, then 0 unit of blood added to stock.
• Can View Blood Request made by donor / patient and can approve or
reject that request.
• If Blood Request approved by admin, then that unit of blood reduced
from
• blood stock of that blood group.
• If Blood Request rejected by admin, then 0 unit of blood reduced
from
• stock.
• Can Update Unit of Particular Blood Group.
• Donor can create account by providing basic details.
DONAR
• After Login, Donor can donate blood, after approval from admin
only, blood will be added to blood stock.
• Donor can see their donation history with status (Pending, Approved,
• Rejected).
• Donor can also request for blood from blood stock.
• Donor can see their blood request history with status.
• Donor can see number of blood request Made, Approved, Pending,
Rejected by Admin on their dashboard.
PATIENT
• Create account (No Approval Required by Admin)
• After Login, can see number of blood request Made, Approved,
Pending,
• Rejected by Admin on their dashboard.
• Patient can request for blood of specific blood group and unit from
blood
• stock.
• Patient can see their blood request history with status (Pending,
Approved,
• Rejected).
4. IMPLEMENTATION
System Requirements
<div class="header">
<img src="[Link]" alt="Blood Bank Logo"
width="50" height="50">
<h1>Blood Bank Management System</h1>
</div>
<div class="navbar">
<a href="[Link]">Home</a>
<a href="[Link]">Donor</a>
<a href="[Link]">Patient</a>
<a href="[Link]">Admin</a>
</div>
<div class="content">
<h2>Welcome to the Blood Bank Management
System</h2>
<p>This system helps manage the collection,
storage, and distribution of blood
donations.</p>
<img src="[Link]" alt="Blood Bank"
class="bloodbank-img">
<h3>Checkout Our Gallery:</h3>
<div class="gallery">
<img src="[Link]" alt="Gallery Image 1">
<img src="[Link]" alt="Gallery Image 2">
<img src="[Link]" alt="Gallery Image 3">
<img src="[Link]" alt="Gallery Image 4">
</div>
</div>
<div class="footer">
<p>© 2024 Blood Bank Management System.
All rights reserved.</p>
</div>
</body>
</html>
[Link]
<%@ page import="[Link].*" %>
<%@ page import="[Link].*" %>
<%@ page import="[Link].*" %>
<%@ page import="[Link].*" %>
background-size: cover; /* or contain, or
specific dimensions */
background-position: center center;
background-attachment: fixed; /* or scroll */
}
.nav {
width: 200px;
background-color: #d32f2f;
color: white;
height: 100vh;
padding: 15px;
box-sizing: border-box;
}
.nav a {
color: white;
text-decoration: none;
display: block;
margin: 10px 0;
padding: 10px;
border-radius: 5px;
text-align: center;
}
.nav a:hover {
background-color: #555;
}
.content {
flex: 1;
padding: 20px;
box-sizing: border-box;
}
.form-container {
max-width: 600px;
margin: auto;
margin-top:50px;
background-color: #f4f4f4;
padding: 20px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.form-container h2 {
text-align: center;
margin-bottom: 20px;
}
.form-container input, .form-container select
{
width: calc(100% - 22px);
padding: 10px;
margin: 10px 0;
border-radius: 5px;
border: 1px solid #ccc;
box-sizing: border-box;
}
.form-container input[type="submit"] {
background-color: #d32f2f ;
color: white;
border: none;
}
.form-container input[type="submit"]:hover {
background-color: #d32f2f;
}
</style>
</head>
<body>
<div class="nav">
<a href="[Link]">Home</a>
<a href="[Link]">Donate blood</a>
<a href="[Link]">View donation
History</a>
<a href="[Link]">Logout</a>
</div>
<div class="content">
<div class="form-container">
<h2>Make a donation</h2>
<form action="[Link]" method="post">
<input type="text" name="name"
placeholder="Name" required>
<input type="text" name="blood_type"
placeholder="Blood Type" required>
<input type="text" name="age"
placeholder="Age" required>
<input type="text" name="units"
placeholder="Units" required>
<input type="text" name="date"
placeholder="Donation Date" required>
<input type="text" name="disease"
placeholder="Disease (if any)">
<input type="submit" value="Donate">
</form>
</div>
</div>
<%
if
("POST".equalsIgnoreCase([Link]())) {
String name = [Link]("name");
String blood_type =
[Link]("blood_type");
String age = [Link]("age");
int units =
[Link]([Link]("units")
);
String date = [Link]("date");
String disease =
[Link]("disease");
//String
status=[Link]("status");
Connection conn = null;
PreparedStatement ps = null;
try {
[Link]("[Link]");
conn =
[Link]("jdbc:mysql://loca
lhost:3306/newblood", "root", "1234");
[Link]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-
width, initial-scale=1.0">
<title>Admin Dashboard - Blood Bank Management
System</title>
<style>
/* Reset and basic styling */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
}
.dashboard-container {
display: flex;
min-height: 100vh;
}
.sidebar {
width: 250px;
background-color: #d32f2f;
color: #fff;
padding: 20px;
}
.sidebar h2 {
font-size: 1.5rem;
margin-bottom: 20px;
}
.sidebar ul {
list-style-type: none;
padding: 0;
}
.sidebar ul li {
-bottom: 10px;
}
.sidebar ul li a {
color: #fff;
text-decoration: none;
display: block;
padding: 10px;
transition: background-color 0.3s ease;
}
.sidebar ul li a:hover {
background-color: #555;
}
.main-content {
flex: 1;
padding: 20px;
}
.main-content header {
margin-bottom: 20px;
text-align:center;
color:#d32f2f;
}
.cards {
display: grid;
grid-template-columns: repeat(auto-fit,
minmax(200px, 1fr));
gap: 20px;
}
.card {
background-color: #fff;
padding: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.card h3 {
font-size: 1.2rem;
margin-bottom: 10px;
}
.card p {
font-size: 1.5rem;
color: #333;
font-weight: bold;
}
</style>
</head>
<body>
<div class="dashboard-container">
<div class="sidebar">
<h2>Admin Panel</h2>
<ul>
<li><a href="[Link]">Home</a></li>
<li><a href="[Link]">Donar</a></li>
<li><a href="[Link]">patient</a></li>
<li><a href="[Link]">Donations</a></li>
<li><a href="[Link]">Blood
requests</a></li>
<li><a href="[Link]">blood
stock</a></li>
<li><a href="[Link]"> Update
bloodstock</a></li>
<li><a href="[Link]">Logout</a></li>
<!-- Add more links as needed -->
</ul>
</div>
<div class="main-content">
<header>
<h1>Welcome to Admin Dashboard</h1>
<!-- Add more header content if needed -->
</header>
<style>
img{
width:100%;
height:609px;
}</style>
</head>
<body>
<br>
<div style="max-width:100%">
<img class="mySlides" src="[Link]" >
<img class="mySlides" src="[Link]" >
<img class="mySlides" src="[Link]" >
</div>
<script>
var myIndex = 0;
carousel();
function carousel() {
var i;
var x =
[Link]("mySlides");
for (i = 0; i < [Link]; i++) {
x[i].[Link] = "none";
}
myIndex++;
if (myIndex > [Link]) {myIndex = 1}
x[myIndex-1].[Link] = "block";
setTimeout(carousel, 2000); // Change image
every 2 seconds
}
</script>
<div>
<%@ include file="[Link]" %>
</div>
<br>
<h3><center>All Right Reserved @ BTech Days ::
2020 </center></h3>
</body>
</html>
[Link]
Screenshot
Fig 5.2.1 Design of Home Page
Description: The above fig illustrates the Design of Home page where the home page is the first
Web page that is displayed after starting a Web browser.
Fig 5.2.2 Design of User(donar/patient) Registration
Description: The above figure illustrates the user registration page where the user provides
details for get registered for the website.
FUTURE SCOPE
Enhanced Security Features, Biometric Authentication: fingerprint or
facial recognition for secure access. Improved User Experience,
Personalized Dashboard We implement the QR code Technology for
Tracking the Blood. We collaborate with some hospitals for better
support Introduce AI in our application for user needs (Chatbots)We
add an emergency option in our application such that the action will
be performed within minutes Improve in handling more blood
quantities in terms of donation and distribution Expanded Donation
Types such as Plasma and Platelet Donations, Organ Donation.
REFERENCES