1 Blood Campaign Management System
May 11, 2015
1
Blood Campaign Management System
2
Introduction
3
Why blood donation important?
• Only way to maintain sufficient blood supplies
for medical treatment.
• Feel good about themselves
• Supports local communities and hospitals
• Supports community culture
• “pays back” to the society
4
Current Procedure
• Manual procedure for organizing a blood drive– Go to the hospital– Find a feasible date– Book for a drive
• No proper publicity for events
5
Problems with existing manual procedure
• Very time consuming process.
• Difficulties with finding a feasible date
• No way to encourage the donors and organizers
• Lack of publicity on upcoming events
6
Similar SystemsOfficial web site of National Blood Transfusion service (NBTS)
Official web site of American Red Cross
7
Draw backs?
˟ Basically information providing web sites
˟ No other user involving functions other than
registration of donors
˟ Doesn’t support any interactive connections
between different users
˟ No facility to book a date online for a blood drive
˟ Lack of giving publicity to upcoming events
˟ No motivating activities for donors and organizers
8
Similar Systems cont..
• Similar Mobile applications
– No. of related mobile applications in Google Play ex: IDonate, Emergency blood bank directory, Give Blood
– Unfortunately no App use in Sri Lanka
– No connection with a official website (Fully
mobile based )
– Only some use location based services
9
Our SolutionWeb based Blood Campaign Management
System
Android Application “ Gift4Life”
10
Our Solution cont..
• Communication bridge between donors, blood drive organizers and the hospitals
• Automate the operations online
• High user involvement– User registration– Hosting a blood drive– Search for a blood drive
11
Our Solution cont..
• Blood donor information management system
• Support interconnection– Email /notification alerts /feedbacks– Social media
• Monitoring of statistics (report generating facility)
• Location based services
12
Our Solution cont..
• System interconnected with an Android app
– Searching ,Filtering and Navigating facilities
– Updating donor profile with NBTS
– Get and spread information
– Use of social media
– Location based services
13
Requirement Analysis
14
Functional Requirements
• User registration (Donor/ Organizer )
• User login/logout/update profile
• Request for a blood campaign
• Search for an event—By distance —By district/city—By date—In-house or mobile
15
Functional Requirements cont..
• Event confirmation• Notified for an event• Vote for an event(going/may be)• Publicity for an event through medias.• Event calendar• View upcoming events • View donation history• Statistical representation of data(annual/monthly
reports)
16
Non Functional Requirements
• Security Requirements– Role base access control– Data encryption using security mechanism.
• Localized mobile app
17
Design
18
Architecture
Data Access Layer
Business Logic Layer
Presentation Layer
Data Source
Jsp/Struts
Servlets
JPA
MySql
19
4Get result & set in scope
<<Controller>>Servlet
Controller HelperJava Class,SessionEJB
<<View>>Jsp
<<Model>>JavaBean
Browser
1Request
6Response
2Access Model
and Invoke Business Logic
Uses
5Dispatch to next view
3Connect to datastore
& get data
DataStore
Architecture cont..
20
Use case Diagram
21
EER Diagram
22
Tools
& Technologies
23
Tools & Technologies cont..
• Java EE
• Jsp Servlets
24
Tools & Technologies cont..
• MVC Architecture
25
Tools & Technologies cont..
• SVN (sub version control system) - Tortoise SVN
26
Tools & Technologies cont..
Screenshot 1
27
Tools & Technologies cont..
• SMS• Email• Social Media - Facebook - Twitter
Screenshot 2
28
Tools & Technologies cont..
• Netbeans• Eclips• Server (GlassFish)• MySQL Database• Reporting tools (IReport)• Adobe Fireworks for interface designing• Android SDK with Google Maps
29
Demo (Web site)
33
Demo (Android App)
34
Demo cont..
10 km
Filter by Distance
35
Demo cont..
• Spherical Law of Cosines
d = acos( sin(φ1).sin(φ2) + cos(φ1).cos(φ2).cos(Δλ) ).R
Distance between given Latitude and Longitude -
Lat 1,Lon 1Lat 2,Lon 2