Aniket Black Book PDF
Aniket Black Book PDF
Aniket Black Book PDF
PROJECT REPORT
ON
SUBMITTED BY
(2023-2024)
SATISH PRADHAN DNYANASADHANA COLLEGE OF
ARTS, SCIENCE AND COMMERCE, THANE
(DEPARTMENT OF COMPUTER SCIENCE)
CERTIFICATE
Exam Seat No:
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.
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
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
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.
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.
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
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.
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.
4
1.3.2 SCOPE OF BLOOD BANK APP:
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.
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.
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.
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.
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
Requirement Specification
Software Requirements:
Hardware Requirements:
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.
2. Express js:
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.
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.
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.
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.
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:
17
Attributes: BloodID (Primary Key), BloodType, ExpiryDate, Quantity, DonorID (Foreign Key),
HospitalID (Foreign Key), etc.
BloodBank:
Organization:
Relationships:
18
3.3 DATA FLOW DAIGRAM
19
3.4 ACTIVITY DAIGRAM
20
3.5 USECASE DAIGRAM
21
CHAPTER 4
IMPLEMENTATION AND TESTING
Index.js
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";
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>
);
};
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";
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";
27
4.2 SOFTWARE TESTING
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.
- 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
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.
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.
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.
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
35
6 Logout Clicking on User must logout User gets Pass
logout button logged out
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.
46
6.3 FUTURE SCOPE
The future scope of a Blood Bank App is promising, with potential advancements and enhancements
in various areas:
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