Download as pdf or txt
Download as pdf or txt
You are on page 1of 58

SATISH PRADHAN DNYANASADHANA COLLEGE OF

ARTS, SCIENCE AND COMMERCE, THANE

PROJECT REPORT
ON

“BLOOD BANK APP”

IS SUBMITTED IN PARTIAL FULFILMENT OF

T.Y.B.Sc (COMPUTER SCIENCE)

SUBMITTED BY

MR. ANIKET TARACANDRA SHINDE

UNDER THE GUIDANCE OF

Asst. Prof. Dnyaneshwar Deore

DEPARTMENT OF COMPUTER SCIENCE

(2023-2024)
SATISH PRADHAN DNYANASADHANA COLLEGE OF
ARTS, SCIENCE AND COMMERCE, THANE
(DEPARTMENT OF COMPUTER SCIENCE)

CERTIFICATE
Exam Seat No:

This is to certify that ANIKET TARACHANDRA SHINDE has successfully


completed the project entitled, “Blood Bank App” and duly submitted the project
in partial fulfillment of the “T.Y.B.Sc (Computer Science)” degree from the
University of Mumbai during the academic year 2023-24. It is further certified that
he has completed all the required phases of projects.

Project Guide External Examiner Signature of HOD Signature of Principle

Asst.Prof.
Dnyaneshwar Dr. Sujata Dr. Ganesh
Deore Iyer bhagure
ABSTRACT
Blood Bank Management System is a browser-based system that is designed to store, process,
retrieve and analyse information concerned with the administrative and inventory management
within a blood bank.
This project aims at maintaining all the information pertaining to blood
donors, different blood groups available in each blood bank and help them manage in a better
way. Aim is to provide transparency in this field, make the process of obtaining blood from a
blood bank hassles free and corruption free and make the process of obtaining blood bank
Management is effective.
our client is not interested in blood stocking instead we are stocking
blood donor’s information. The donors who are interested in donating blood has to register in
the database.
There is no storage of blood so no complications in the database.
The software is fully integrated with customer relationship management as well as content
management system solutions.
It is developed in a manner that is easily manageable, time saving and relieving one
from manual work. Keywords: Blood group, Patients, Donate, Donor
ACKNOWLEDGEMENT

I would like to extend our heartiest thanks with a deep sense of gratitude and respect to all those who
provides me immense help and guidance during my period.

I would like to thank my Project Guide Asst.Prof. Dnyaneshwar Deore for providing a vision about the
system. I have been greatly benefited from their regular critical reviews and inspiration throughout my
work. I am grateful to them for their guidance, encouragement, understanding and insightful support in the
development process.

I would also like to thank my college for giving required resources whenever I wanted and for giving the
opportunity to develop the project.

I would like to express my sincere thanks to our Principal Dr. Ganesh Bhagure Sir and our Head of
Department Dr. Sujata Iyer for having facilitated us with the essential infrastructure & resources without
which this project would not have seen light of the day.

I am also thankful to entire staff of CS/IT for their constant encouragement, suggestions and moral support
throughout the duration of my project.

Last but not the least I would like to mention here that I am greatly indebted to each and everybody my
friends and who has been associated with my project at any stage but whose name does not find a place in
this acknowledgement.

Mr. ANIKET SHINDE


TY.B.SC. COMPUTER SCIENCE
SATISH PRADHAN DYANASADHANA COLLEGE
DECLARATION BY STUDENT

I hereby declared that the project entitled, “Blood Bank App” done at place where the
project is done, has not been in any case duplicated to submit to any other university for the award
of any degree. To the best of my knowledge other than me, no one has submitted to any other
university.

The project is done in partial fulfilment of the requirements for the award of degree of
BACHELOR OF SCIENCE (COMPUTER SCIENCE) to be submitted as fifth semester
project during the academic year 2023-24 is based on actual work carried out by me under the
guidance of Asst. prof. Dnyaneshwar Deore

Signature of the Student

EVALUATION CERTIFICATE

The This is to certify that the undersigned have assessed and evaluation the project on
“BLOOD BANK APP” submitted by Aniket Tarachandra Shinde, student of BSc (Computer
Science).
This Project is original to the best of our knowledge and has accepted for Assessment.

External Examine
TABLE OF CONTENTS

Chapter 1: INTRODUCTION
1.1 Background .............................................................................. 2
1.2 Objectives ................................................................................. 4
1.3 Purpose and Scope .................................................................... 6
1.3.1 Purpose
1.3.2 Scope
1.4 Problem Statement .................................................................. 10

Chapter 2: SYSTEM ANALYSIS


2.1 Existing System ...................................................................... 13
2.2 Proposed System ................................................................... 15
2.3 Requirement Analysis ........................................................... 17
2.4 Justification of technologies .................................................. 18

Chapter 3: SYSTEM DESIGN


3.1 Working Modules .................................................................. 21
3.2 ER Diagram ...........................................................................23
3.3 Data Flow Diagram .............................................................. 25
3.4 Activity Diagram .................................................................. 26
3.5 Use case Diagram ................................................................. 27

Chapter 4: IMPLEMENTATION AND TESTING


4.1 Source Code .......................................................................... 28
4.2 Software Testing .................................................................... 33
4.2.1 Unit Testing
4.2.2 Integration Testing
4.3 Data Design ........................................................................... 38
4.4 Test Cases ............................................................................... 42
4.5 Gantt Chart .............................................................................43

Chapter 5: RESULTS AND DISCUSSION


5.1 Results (Outputs) .................................................................... 44

Chapter 6: CONCLUSION AND FUTURE WORK


6.1 Conclusion.............................................................................. 52
6.2 Limitations ............................................................................. 53
6.3 Future Work ........................................................................... 54

Chapter 7: REFERENCES ................................... 55


LIST OF FIGURES
3.2.1 ER Diagram
3.3.1 Data Flow Diagram
3.4.1 Activity Diagram
3.5.1 Use Case Diagram
4.5.1 Gantt Chart
4.5.2 Test case
CHAPTER 1
INTRODUCTION
The Blood Bank Management System is a comprehensive software solution designed to
streamline and automate the processes involved in the functioning of a blood bank.
It serves as a centralised platform for efficient blood inventory management, donor
information tracking, and blood transfusion coordination. This system enhances the overall
effectiveness of blood bank operations by providing real-time data on available blood units,
donor history, and ensuring timely responses to blood requests.

Key features of the Blood Bank Management System include:

1:Donor Management:
Efficiently manage donor records, including contact details, blood type, and donation history.

2:Inventory Tracking:
Maintain a real-time inventory of available blood units, ensuring accurate and
up-to-date information on blood types and quantities.

3:Blood Request Management:


Facilitate the process of blood requests, ensuring timely responses and effective coordination between
the blood bank and medical institutions.

4:Testing and Screening:


Record and manage the results of donor screening and blood testing to ensure the safety and quality of
donated blood.

5:User Authentication:
Implement secure user authentication protocols to protect sensitive donor and patient information

1
BACKGROUND
The Blood Management System emerged as a response to the challenges faced by traditional blood
banking methods. Historically, manual record-keeping and inventory management processes were
prone to errors, inefficiencies, and delays in responding to critical needs. With advancements in
technology and the growing demand for a more efficient and reliable system, the Blood Management
System was developed to revolutionise the way blood banks operate.

The system addresses key issues such as donor data management, inventory tracking, and the
coordination of blood requests. By digitising and centralising these processes, the Blood Management
System enhances the accuracy of records, minimises the risk of errors, and ensures a real-time
overview of available blood units. This technological solution not only streamlines operations within
blood banks but also significantly improves the overall effectiveness of blood transfusion services.

Moreover, the Blood Management System incorporates features such as secure user authentication,
comprehensive reporting and analytics, and notification systems. These elements contribute to a more
organised and responsive blood banking infrastructure, ultimately supporting healthcare
professionals in delivering timely and life-saving transfusions.

In essence, the background of the Blood Management System reflects a proactive approach to
harnessing technology for the critical purpose of ensuring a safe, efficient, and readily accessible
blood supply to meet the healthcare needs of communities.

2
1.1 OBJECTIVES
Efficient Donor Management: The primary objective of a Blood Management System is to
streamline the process of donor management, including the recording of donor information,
contact details, and donation history. This ensures a comprehensive and organized database of
potential blood donors.

Accurate Inventory Tracking: The system aims to maintain an accurate and real-time inventory
of available blood units. This includes monitoring blood types, quantities, and expiration dates,
allowing blood banks to effectively manage their stock and prevent shortages.

Timely Blood Request Response: One of the key objectives is to facilitate the timely and efficient
response to blood requests from medical institutions. The system enhances communication and
coordination, ensuring that the right blood type is available when needed for transfusions.

Secure Information Management: The Blood Management System focuses on implementing


robust security measures to protect sensitive donor and patient information. This includes secure
user authentication and data encryption to safeguard confidential data.

Enhanced Reporting and Analytics: The system provides tools for generating comprehensive
reports and analytics. This supports data-driven decision-making, allowing blood banks to assess
their performance, identify trends, and implement strategies for continuous improvement.

3
1.3 PURPOSE AND SCOPE

1.3.1 PURPOSE OF BLOOD BANK APP:

 Optimizing Blood Inventory: The system aims to optimize the management of blood inventory by
providing real-time tracking of available blood units, ensuring accurate information on blood types,
quantities, and expiration dates. This helps prevent shortages and wastage, ultimately maximizing
the utility of the available blood supply.

 Efficient Donor Management: Facilitating the efficient management of donor information is a


central purpose. The system helps maintain a comprehensive database of potential donors, including
their contact details, blood type, and donation history. This streamlines the process of identifying
suitable donors during urgent situations.

 Streamlining Blood Requests: The system serves to streamline the process of handling blood
requests from medical institutions. By automating communication and coordination, it ensures a
prompt response to requests, reducing the time it takes to deliver the required blood to patients in
need.

 Ensuring Blood Safety: A critical purpose is to enhance the safety of donated blood. The system
includes features for recording and managing the results of donor screening and blood testing,
ensuring that only safe and high-quality blood units are included in the inventory.

 Data-Driven Decision Making: The system facilitates data-driven decision-making through


comprehensive reporting and analytics. Blood banks can analyze trends, assess performance, and
make informed decisions to continually improve their operations and respond effectively to
changing demands.

 Enhancing Security and Privacy: Implementing secure information management practices is a


key purpose. The system incorporates measures such as secure user authentication and data
encryption to protect sensitive donor and patient information, ensuring compliance with privacy and
confidentiality standards.

4
1.3.2 SCOPE OF BLOOD BANK APP:

Remote Access and Mobility:


Enable authorized personnel to access the Blood Management System remotely, promoting flexibility
and responsiveness, especially during emergencies.

Integration with External Systems:


Integrate the system with external healthcare information systems, laboratories, and electronic health
records to facilitate seamless data exchange and coordination.

Donor Relationship Management:


Extend the scope to include features for fostering long-term relationships with donors, such as
personalized communication, loyalty programs, and acknowledgment for their contributions

Predictive Analytics:
Incorporate predictive analytics capabilities to forecast future blood demand, allowing blood banks to
proactively manage inventory and anticipate shortages.

Resource Optimization:
Expand the system's capabilities to optimize resource allocation, including staff scheduling, equipment
maintenance, and overall operational efficiency.

Emergency Response Planning:


Integrate functionalities for emergency response planning, allowing blood banks to quickly
mobilize resources and coordinate with other healthcare entities during crises.

5
1.4 PROBLEM STATEMENT
In the current landscape of blood banking, traditional manual processes and disparate information
systems contribute to inefficiencies, inaccuracies, and delays in the management of blood
inventories. The lack of a centralized, technologically advanced Blood Management System
hinders the optimization of donor interactions, compromises timely responses to blood requests,
and poses risks to the safety and quality of the donated blood.

Existing challenges include:

Manual Data Entry and Record-Keeping:


The reliance on manual data entry processes leads to errors, inconsistencies, and time-consuming
record-keeping, impacting the overall accuracy and reliability of blood bank data.

Limited Donor Management Capabilities:


Donor management lacks a streamlined approach, making it difficult to capture and maintain
comprehensive donor profiles, hindering efforts to engage donors effectively and encourage regular
contributions.

Inefficient Blood Inventory Management:


The absence of real-time tracking mechanisms results in suboptimal blood inventory management,
leading to stockouts, wastage, and challenges in maintaining a well-balanced supply of blood products.

Lack of Coordination in Blood Transfusions:


Inadequate coordination between blood banks and healthcare institutions contributes to delays in
responding to blood requests, impacting the timely availability of specific blood types for critical
transfusions.

Security and Compliance Concerns:


Security measures for protecting sensitive donor and patient information are often insufficient, posing
risks to data confidentiality and potentially compromising compliance with privacy regulations.

Limited Access to Data Analytics:


6
The absence of robust analytics and reporting tools hampers the ability to derive meaningful insights
from blood bank data, hindering strategic decision-making and continuous improvement efforts.
Insufficient Education and Awareness:
Lack of integrated educational resources within blood banking systems results in limited awareness
about the importance of blood donation, eligibility criteria, and safety practices among potential donors
and the general public.

Emergency Response Challenges:


In the absence of efficient emergency response planning features, blood banks face difficulties in
mobilizing resources swiftly during crises, impacting the ability to meet sudden surges in demand.

Given these challenges, there is a critical need for the development and implementation of a
comprehensive Blood Management System that addresses these shortcomings, leveraging technology
to enhance efficiency, safety, and responsiveness throughout the blood banking process.

This problem statement provides a foundation for the development and justification of a Blood
Management System to overcome the identified challenges and improve the overall effectiveness of
blood banking operations.

7
CHAPTER 2
SYSTEM ANALYSIS

System analysis of the Blood Management System involves identifying requirements for donor
management, inventory tracking, and reporting.
Stakeholder involvement is crucial, engaging blood bank staff and healthcare professionals to
understand their roles and expectations.
Designing secure interfaces, integrating external systems, and ensuring scalability are key
considerations.
The process culminates in comprehensive documentation covering requirements, design decisions,
and security measures.

- Existing System
- Proposed System
- Requirement Analysis
- Hardware Requirements
- Software Requirements

8
2.1 EXISTING SYSTEM

In general, traditional blood bank systems often relied on manual processes for donor registration,
blood inventory management, and coordination with healthcare institutions. These systems may
involve paperwork, phone calls, and manual record-keeping.

In recent years, there has been a growing trend towards digitization in healthcare, including blood
banking. Some blood banks and organizations may have developed or adopted blood bank apps to
streamline processes, enhance communication, and improve overall efficiency. These apps could
include features such as donor registration, real-time inventory tracking, appointment scheduling,
and notifications for urgent blood requests.

To get information about a specific blood bank app or system, it would be best to check directly
with the relevant blood bank or healthcare organization. They can provide details on the existing
system they use, whether it's a proprietary solution or a commercially available blood bank
management software.

9
2.2 PROPOSED SYSTEM

Blockchain Integration:
Implement blockchain technology to enhance the security, transparency, and traceability of blood
supply chain transactions, ensuring an immutable record of blood donation and distribution.

Mobile Donor Engagement App:


Develop a dedicated mobile app for donors, providing personalised profiles, real-time donation
updates, and interactive features to encourage regular and voluntary blood contributions.

Machine Learning for Demand Prediction:


Integrate machine learning algorithms to analyse historical data, predict future blood demand
trends, and optimize inventory levels to proactively address potential shortages or surpluses.

Smart Inventory Management:


Utilize IoT (Internet of Things) devices for real-time monitoring of temperature, humidity, and
storage conditions of blood units, ensuring the quality and safety of the blood supply.

Telemedicine Integration:
Enable telemedicine features within the system to facilitate virtual consultations between blood
bank professionals and healthcare institutions, improving communication and coordination during
critical cases
.
Community Blood Drives Platform:
Establish an online platform for organising and promoting community blood drives, fostering
community engagement, and expanding the donor pool through targeted outreach.

Automated Donor Recognition System:


Implement an automated system to recognize and appreciate donors, providing badges,
certificates, or other virtual rewards to encourage a sense of achievement and loyalty.

10
Real-Time Collaboration Hub:Develop a collaborative hub for blood banks to share information,
coordinate efforts during emergencies, and exchange surplus blood units to optimise distribution
and minimise wastage

2.3 REQUIREMENT ANALYSIS

Requirement Specification

Software Requirements:

Front End: Reactjs,Expresjs


Back End: Nodejs
Database: Mongodb

Hardware Requirements:

Processor: Intel Dual Core


Processor Speed: 1.4 GHZ or above
RAM: 4 GB RAM or above
Hard Disk: 20 GB hard disk or above

11
2.4 JUSTIFICATION OF TECHNOLOGIES

1. Reactjs:

Declarative Syntax:
React utilizes a declarative syntax, making it easier to understand and debug code.

Component-Based Architecture:
React follows a component-based architecture, enabling the development of reusable and
modular UI components.

Virtual DOM (Document Object Model):


React employs a virtual DOM for efficient rendering, improving performance by minimizing
direct manipulation of the actual DOM.

JSX (JavaScript XML):


JSX is a syntax extension that allows embedding HTML-like code within JavaScript, simplifying
the creation of UI elements.

Unidirectional Data Flow:


React enforces a unidirectional data flow, making it easier to manage and update application
state.

2. Express js:

Fast and Lightweight:


Express.js is a fast and lightweight web application framework for Node.js, providing a minimal
and unopinionated structure

12
.
Middleware Support:
Express.js uses middleware functions to handle requests and responses, allowing for modular
and extensible application architecture.

Routing:
Express provides a simple and flexible routing system, allowing developers to define routes and
handle HTTP methods easily.

HTTP Utility Methods:


Express simplifies handling HTTP methods with utility methods for common tasks, such as
GET, POST, PUT, and DELETE.

Template Engines:
Express supports various template engines like EJS and Pug, enabling the dynamic generation of
HTML views.

3. Node js
Asynchronous and Event-Driven:
Node.js uses an event-driven, non-blocking I/O model, making it efficient for handling
concurrent operations without blocking the execution of other tasks
.
Single-threaded, Non-blocking Architecture:
Node.js operates on a single-threaded event loop, handling multiple concurrent connections
without creating separate threads for each, resulting in efficient resource utilization
.
Fast Execution:
Built on the V8 JavaScript runtime engine, Node.js provides fast execution of JavaScript code,
enhancing the performance of server-side applications
.
Cross-Platform Compatibility:
Node.js is cross-platform and can run on various operating systems, including Windows, macOS,
and Linux
.
13
NPM (Node Package Manager):
NPM is a powerful package manager that comes bundled with Node.js, facilitating the
installation and management of third-party libraries and tools.

4. MONGODB:
Document-Oriented:
MongoDB stores data in JSON-like BSON (Binary JSON) documents, allowing complex data
structures and nested arrays within documents.

Schema-less Design:
MongoDB is schema-less, meaning that documents in a collection can have different fields and
structures, providing flexibility in data representation.

Scalability:
MongoDB supports horizontal scaling through sharding, distributing data across multiple
servers, making it suitable for handling large amounts of data and high traffic.

Automatic Sharding:
MongoDB can automatically distribute data across multiple shards, allowing for efficient and
automatic scalability as data volumes increase.

Ad Hoc Queries:
MongoDB supports dynamic queries, allowing developers to perform ad hoc queries using a
flexible query language to retrieve and manipulate data.

Indexing:
MongoDB supports the creation of indexes on fields to optimize query performance, enhancing
the speed of data retrieval.

14
CHAPTER 3
SYSTEM DESIGN.

A Blood Management System is a software application designed to efficiently manage and


streamline the various processes associated with blood banking and transfusion services. It
encompasses functionalities such as donor registration, inventory tracking, blood testing, request
processing, and overall coordination between blood banks and healthcare institutions. The system
aims to ensure the availability of safe and compatible blood products, facilitate donor engagement,
and support healthcare professionals in delivering timely transfusions.
Key Components:

The MERN stack is a popular and powerful technology stack for building web applications,
comprising four key components:

MongoDB (Database):
MongoDB is a NoSQL database that stores data in a flexible, JSON-like BSON format. In a Blood
Management System, it could be utilized to store information about donors, blood units, testing
results, and other relevant data.

Express.js (Back-end Framework):


Express.js is a minimalist and flexible Node.js web application framework. In the context of a
Blood Management System, Express.js would handle server-side logic, route handling, and API
endpoints for communication between the client and the database.

React.js (Front-end Library):


React.js is a JavaScript library for building user interfaces. It allows the creation of dynamic and
interactive user interfaces in the context of a Blood Management System, enabling a responsive
and engaging experience for users interacting with donor registration forms, inventory views, and
other interfaces.

15
Node.js (Runtime Environment):
Node.js is a JavaScript runtime that enable lThe MERN stack provides a cohesive and efficient
development environment for creating modern web applications. It provide flexibility.

3.1 WORKING MODULES


1. Donor Module:
- Allows individuals to register as blood donors.
- Provides a platform for donors to update their contact information and blood type.
- Notifies donors about blood donation events or urgent blood needs.

2. Organization Module:
- Enables blood banks or organizations to manage their operations.
- Includes features for inventory management, tracking blood donations, and organizing blood
drives.
- Allows organizations to send notifications to donors and hospitals.

3. Hospital Module:
- Facilitates hospitals in requesting and managing blood supply.
- Provides a platform for hospitals to update their blood inventory.
- Allows hospitals to request specific blood types or quantities in case of emergencies.

4. Admin Module:
- Centralized control for administrators to manage the entire blood bank system.
- Access to donor, organization, and hospital data for oversight.
- Ability to generate reports, manage user accounts, and address system-wide issues.

5. Consumer Module:
- Offers a user-friendly interface for individuals seeking information on blood donation.
- Allows users to find nearby blood donation events, blood banks, and hospitals.
- Provides educational resources on blood donation and its importance.

6. Analytics Module:
- Gathers and analyzes data related to blood donation activities.
- Generates reports on donor trends, blood supply levels, and campaign effectiveness.

16
3.2 ER DAIGRAM

3.2.1
ER Diagram

Entities:
Hospital:

Attributes: HospitalID (Primary Key), HospitalName, Location, ContactNumber, etc.


Donor:

Attributes: DonorID (Primary Key), DonorName, Age, BloodType, ContactNumber, etc.


Blood:

17
Attributes: BloodID (Primary Key), BloodType, ExpiryDate, Quantity, DonorID (Foreign Key),
HospitalID (Foreign Key), etc.
BloodBank:

Attributes: BloodBankID (Primary Key), BloodBankName, Location, ContactNumber, etc.

Organization:

Attributes: OrgID (Primary Key), OrgName, Type, Location, ContactNumber, etc.

Relationships:

A donor donates blood to a hospital. (Donor -< Blood -< Hospital)


Blood is associated with a donor and a hospital. (Blood >- Donor, Blood >- Hospital)
Blood banks collect and store blood. (BloodBank -< Blood)
Hospitals may have multiple blood transactions. (Hospital >- Blood)
Donors can have multiple blood donations. (Donor >- Blood)
Organizations might be associated with hospitals or blood banks based on the system's
requirements.

18
3.3 DATA FLOW DAIGRAM

3.3.1 Data Flow Diagram

19
3.4 ACTIVITY DAIGRAM

3.4.1 Activity Diagram

20
3.5 USECASE DAIGRAM

3.4.1 Use Case Diagram

21
CHAPTER 4
IMPLEMENTATION AND TESTING

4.1 SOURCE CODE

Index.js

import React from "react";


import ReactDOM from "react-dom/client";
import "./index.css";
import App from "./App";
import reportWebVitals from "./reportWebVitals";
import { BrowserRouter } from "react-router-dom";
import { Provider } from "react-redux";
import store from "./redux/store";
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
<React.StrictMode>
<Provider store={store}>
<BrowserRouter>
<App />
</BrowserRouter>
</Provider>
</React.StrictMode>
);
reportWebVitals();

22
Donar.js –
import React, { useEffect, useState } from "react";
import Layout from "../../components/shared/Layout/Layout";
import API from "../../services/API";
import moment from "moment";

const Donar = () => {


const [data, setData] = useState([]);
//find donar records
const getDonars = async () =>
{try {
const { data } = await API.get("/inventory/get-donars");
// console.log(data);
if (data?.success) {
setData(data?.donars);
}
} catch (error)
{ console.log(erro
r);
}
};

useEffect(() =>
{getDonars();
}, []);

return (
<Layout>
<table className="table ">
<thead>
<tr>
<th scope="col">Name</th>
23
<th scope="col">Email</th>

24
<th scope="col">Phone</th>
<th scope="col">Date</th>
</tr>
</thead>
<tbody>
{data?.map((record) => (
<tr key={record._id}>
<td>{record.name || record.organisationName + " (ORG)"}</td>
<td>{record.email}</td>
<td>{record.phone}</td>
<td>{moment(record.createdAt).format("DD/MM/YYYY hh:mm A")}</td>
</tr>
))}
</tbody>
</table>
</Layout>
);
};

export default Donar;

25
Login.js –
import React from "react";
import Form from "../../components/shared/Form/Form";
import { useSelector } from "react-redux";
import Spinner from "./../../components/shared/Spinner";

const Login = () => {


const { loading, error } = useSelector((state) => state.auth);
return (
<>
{error && <span>{alert(error)}</span>}
{loading ? (
<Spinner />
):(
<div className="row g-0">
<div className="col-md-8 form-banner">
<img src="./assets/images/banner1.jpg" alt="loginImage" />
</div>
<div className="col-md-4 form-container">
<Form
formTitle={"Login Page"}
submitBtn={"Login"}
formType={"login"}
/>
</div>
</div>
)}
</>
);
export default Login;

26
Register.js –
import React from "react";
import Form from "../../components/shared/Form/Form";
import { useSelector } from "react-redux";
import Spinner from "../../components/shared/Spinner";

const Register = () => {


const { loading, error } = useSelector((state) => state.auth);
return (
<>
{error && <span>{alert(error)}</span>}
{loading ? (
<Spinner />
):(
<div className="row g-0">
<div className="col-md-8 form-banner ">
<img src="./assets/images/banner2.jpg" alt="registerImage" />
</div>
<div className="col-md-4 form-container">
<Form
formTitle={"Register"}
submitBtn={"Register"}
formType={"register"}
/>
</div>
</div>
)}
</>
export default Register;

27
4.2 SOFTWARE TESTING

Validation and checks -

Software validation is achieved through a series of tests that demonstrate conformity with
requirements. Validation succeeds when software functions in a manner that can be reasonably
expected by the customer. Here line by line checking is used to find errors. Comment line facility
is used for checking errors.
Testing is necessary for the success of the system. During testing, program to be tested is
executed with a set of test data and the output of the program for test data is evaluated to determine
if the programs are performing as expected.
Validation means checking the quality of software in both simulated and live environments.
System validation ensures that the user can in fact match his/her claims, especially system
performance. True validation is verified by having each system tested.
First the application goes through a phase often referred as alpha testing in which the errors
and failures based on simulated user requirements are verified and studied. The modified software
is then subjected to phase two called beta testing in the actual user’s site or live environment. After
a scheduled time, failures and errors are documented for final correction and enhancements are
made before the package is released.

In a software development project, errors can be injected at any stage during development.
Even if error detecting and eliminating techniques were employed in the previous analysis and
design phases, errors are likely to remain undetected. Unfortunately, these errors will be reflected
in the code. Since code is frequently the only product that can be executed and whose actual
behaviour can be observed, testing is the phase where the errors remaining from the earlier phases
must be detected in addition to detecting the errors introduced during coding activity.
Having proper test cases is central to successful testing. We would like to determine a set of test
cases such that successful execution of all of them implies that there are no errors in the program.
Therefore, our project crew aimed at selecting the test cases such that the maximum possible
numbers of errors are detected by the minimum number of test cases.
28
For this we have adopted both manual testing techniques and automated testing techniques.
First and foremost, testing was done by means of Inspection, where participants manually examine
system deliverables for occurrences of well-known errors. Inspection team consists of 5

members who are trained for their tasks. Items for inspection include completeness of the design,
and functional requirements, internal completeness and consistency in definition and usage of
terminology, and correctness of the interfaces between modules. Syntax, grammar, and some other
routine errors were checked by automated inspection software, so manual inspection checks are
used for more subtle errors. And we have done the testing following design phase prior to
implementation.

Testing objectives are:


Testing is a process of executing a program with the intent of finding an error.

- A good test case is one that has a high probability of finding an as-yet- undiscovered error.
- A successful test is one that uncovers an as-yet- undiscovered error. Automated testing is
performed at four different levels.

29
Test Types -

1. Unit testing
2. Integration testing
3. System testing
4. Acceptance testing

⮚ 4.2.1 Unit testing

In unit testing different modules are tested against the specifications produced during design
phase for the modules in the project and the goal is to test the internal logic of the modules.
To perform the unit testing, the best approach we adopted in this project is functional testing in
which inputs are given to the system for which the expected results are known, boundary values
and special values. For this the module selected was advance details where the balance amount
falls to negative indicating there is no more payment required. Secondly performance testing was
done to determine the amount of execution time spent in various aspects like the module, program
throughput, response time, and the device utilization by the program unit.

⮚ 4.2.2 Integration testing

The primary goal of the integration testing is to see if the modules can be integrated properly.
The integration testing is therefore considered as testing the design. Thus, in the integration testing
step, all the errors uncovered are corrected for the next testing steps.
System testing.
System testing is like integration testing, but instead of integrating modules into programs
for testing, programs are integrated into systems for testing the interfaces between programs in a
system. System testing can be defined in many ways, but a simple definition is that validation
succeeds when the software functions in a manner that can be reasonably expected by the
customer.

30
⮚ Acceptance testing

Once the system tests have been satisfactory completed, the system is ready for acceptance
testing. Acceptance testing is the process whereby actual users test a completed information system
in the environment where it will eventually be used, the result of which is the user’s acceptance or
rejection.
The admin and staff at Company accepted proposed system after testing.

⮚ Incremental Integration Testing

Bottom-up approach for testing i.e., continuous testing of an application as new functionality
is added. This Application functionality and modules are independent enough to test separately.
The functionality like view/create group, view/edit profile, view/post notification, view/post news
and add/show event are independent to each other. These functionalities are added separately and
tested after the implementation of each.

The distributed nature of client/server systems pose a set of unique problems while conduct tests
we noted following areas while testing:
- Client –GUI considerations
- Target environment and platform diversity considerations
- Distributed processing considerations
- No robust target environment
- Nonlinear performance relationships

Many different types of tests are conducted at each of this level of detail the following tests are
conducted.

31
⮚ Application function tests

The functionality of client applications is tested using the methods discussed below.

⮚ Server tests

The coordination and data management functions of the server are tested. Server performance is
also considered.

⮚ Database tests

The accuracy and integrity of data stored by the server is tested. Transactions posted by client
applications are examined to ensure that data are properly stored, updated, and retrieved. Archiving
is also tested.

⮚ Network communication tests

These tests verify that communication among the nodes of the network occur are correct and that
message passing, transactions and related network traffic occurs without error. Network tests are
also being conducted. The strategy for testing c/s architecture is analogous to testing of other
architecture.

32
4.3 DATA DESIGN

33
34
4.4 TEST CASES

SR. Test Case Input Expected Output Obtained Remark


No: Output

1 Login Username, Login Home page of Pass


(valid user) Password Successfully Faculty

2 Login Username, Invalid Navigate to Pass


Invalid user Password credentials Registration
Page
3 Registration Name,Addr Register Navigate to Pass
ess,Phone,E Successfully Login Page
mailID,Pass
word,Websit
e

4 Add Inventory blood group inventory Displaying Pass


type,quantity added inventory in
successfully Homepage

5 Add Donar donar Donar Added Displaying Pass


name,blood Successfully donar in
group,quantit homepage
y,phone
number

35
6 Logout Clicking on User must logout User gets Pass
logout button logged out

4.4.1 Test Cases Reports

4.5 GANTT CHART

36
CHAPTER 5
RESULTS AND DESCUSSIONS

5.1 Results

Screenshot of Website –

Registeration Page –

37
 Login page –

Donar Page –

38
39
40
41
42
43
44
CHAPTER 6
6.1 CONCLUSION
In conclusion, a Blood Bank App plays a pivotal role in modernizing and improving the
blood donation process. It enhances the efficiency of blood donation campaigns by
providing a platform for donors to register, schedule appointments, and receive notifications.
The app also streamlines inventory management, ensuring real-time tracking of blood units,
their types, and expiration dates. Communication is facilitated among donors, recipients, and
blood bank staff through push notifications and alerts. The app's design focuses on user-
friendliness, making it accessible to a diverse audience. In emergency situations, the app
enables quick mobilization ofdonors and ensures timely blood supply to hospitals. Donor
engagement is encouraged through features such as gamification and loyalty programs. Data
analytics capabilities contribute to informed decision-making for inventory management and
donation campaigns. Privacy and security measures are implemented to protect donor and
recipient information, fostering trustamong users. Overall, the Blood Bank App emerges as a
valuable tool in the healthcare ecosystem, positively impacting blood management and
ultimately saving lives

In Summary
The Blood Bank App revolutionizes blood donation by streamlining the process for donors and
blood banks. It enables easy donor registration, appointment scheduling, and timely notifications
for events. The app ensures efficient inventory management, providing real-time updates
blood units and expiration dates
.
Through user-friendly interfaces and gamification, it engages donors, fostering a sense of
community. In emergencies, the app facilitates quick donor mobilization, contributing to timely
blood supply to hospitals. Its data analytics capabilities support informed decision-making, while
robust privacy measures instill trust in users, making it a vital tool for modern blood
management.

45
6.2 LIMITATIONS
 Limited Accessibility:
 Not all potential blood donors may have access to smartphones or the internet, limiting the reach
of the app and potentially excluding a portion of the population.

 Technological Barriers:
 Some users, particularly in older demographics, may not be familiar with or comfortable using
mobile applications, creating a technological barrier to participation.

 Data Security Concerns:



 Storing sensitive health information on a digital platform raises concerns about data security and
privacy. Ensuring robust cybersecurity measures is crucial to protect donor and recipient
information.

 Dependence on Internet Connectivity:


 The app's functionality relies on a stable internet connection. In areas with limited connectivity,
users may face difficulties in accessing important features, especially during emergencies.

 Exclusion of Non-Smartphone Users:


 Individuals without smartphones or those using feature phones are excluded from the app's
benefits, potentially missing out on critical information and opportunities to donate.

 Reliability and Maintenance:


 The app's effectiveness depends on regular updates, maintenance, and reliable server performance.
Technical issues or server downtime could disrupt critical functions, affecting communication and
blood inventory management.

 Digital Literacy Challenges:


 Some users, especially in certain demographics or regions, may have limited digital literacy,
leading to challenges in using the app effectively.

46
6.3 FUTURE SCOPE

 The future scope of a Blood Bank App is promising, with potential advancements and enhancements
in various areas:

 Integration of Emerging Technologies:


 Integration of technologies like artificial intelligence (AI) and machine learning (ML) could
improve predictive analytics for blood demand, optimize inventory management, and enhance
personalized donor engagement.

 Blockchain for Data Security:


 Implementing blockchain technology can enhance the security and integrity of donor and recipient
data, providing a transparent and tamper-resistant record of transactions and interactions within the
blood bank network.

 IoT and Real-Time Monitoring:


 Internet of Things (IoT) devices can be utilized for real-time monitoring of temperature and other
conditions during blood transportation and storage, ensuring the quality and safety of the blood
supply.

 Geospatial Integration:
 Incorporating geospatial technology can enable precise location-based donor mobilization during
emergencies, improving the efficiency of the app in coordinating timely blood donations.

 Telemedicine Integration:
 Integrating telemedicine features can allow for virtual consultations and pre-screening of potential
donors, making the donation process more convenient and accessible.

 Biometric Authentication:
 Implementing biometric authentication methods, such as fingerprint or facial recognition, can
enhance security and streamline the donor identification process during registration and blood
donation.

47
 Wearable Technology Integration:
 Connectivity with wearable devices could provide real-time health data of potential donors, offering
insights into their fitness for donation and encouraging a more proactive approach to blood donatio

48
CHAPTER 7
REFERENCES

For React

➢ https://legacy.reactjs.org/docs/getting-started.html

➢ https://www.codewithharry.com/tutorial/react-home/

For Express

➢ https://www.geeksforgeeks.org/

➢ https://www.javatpoint.com/

For Mongodb

➢ https://www.youtube.com/

➢ https://www.mongodb.com/cloud/atlas/register

For Node js

➢ https://www.w3schools.com/

49
50

You might also like