Академический Документы
Профессиональный Документы
Культура Документы
PROJECT REPORT
ON
AIRLINE MANGEMENT SYSTEM
UNDER THE PARTIAL FULFILMENT OF UNIVERSITY OF
MUMBAI REQUIREMENT FOR THE COURSE OF
TYBSC(COMPUTER SCIENCE)
-: SUBMITTED BY :-
INDEX
Sr.no. Title Page No.
1
01 Acknowledgement 3
02 Overview
2.1 Abstract 4
2.2 Undertaking 5
2.3 Objective 6
2.4 Introduction 7
03 System Design
3.1 E-R Diagram 14
04 Code Implementation 19
05 Results
5.1 Tables 85
06 Future Scope 93
2
ACKNOWLEDGEMENT
various colours of this project with their vast treasure of experience and knowledge.
I would like to express my sincere thanks to Prof. Mr. Rajesh Yadav, who helps me
environment and the much needed inspiration to conclude this project on time.
I also take this opportunity to thank Head of the Department Dr. Saloni Bhushan
and the most needed guidance throughout the duration of the course.
Prof. Mr. Rajesh Yadav has provided me with the guidance and necessary support
during each phase of the project. He was the Source of continuous encouragement
Last but not the least, I would like to thank my friends and family for the support
3
ABSTRACT
Blood Finder is an emergency time app where a user can search for the blood banks as
well as the registered blood donors around Mumbai. This application also provide an
opportunity for the user of this application to become a registered donor for this user have
to enroll for the donor request from the application itself. If the admin wish to make user
a registered donor, with some of the formalities with the organization it can be done.
Specialization of this application is that the user will not have to register on sign-in for
searching the blood banks and blood donors it can be just done by installing the
The purpose of making this application is to save the user’s time for searching blood of
This is an android application developed in Java and XML with the connectivity of
SQLite database. This application will provide most of basic functionality required for an
emergency time application. All the details of Blood bank’s and Blood donor’s are stored
This application allowed the user to get all the information regarding blood bank’s and
blood donor’s such as Name, Number, Address, Blood Group, rather than searching it on
the different websites and wasting the precious time. This application is effective and user
friendly.
4
UNDERTAKING
All the analysis design and System developed have been accomplished by the
undersigned. Moreover, this project has not been submitted to any other College or
University.
5
OBJECTIVE
Blood is one of the main need for the human body to live on the earth
BLOOD FINDER is the application to find the blood at the time of need by the
user
emergency application.
To develop a platform to search for blood without wasting the users precious time
The user can search for the particular blood group in the application using the
search operation
To save the user’s time there is no login or signup is required, User can directly
A user can also request to enroll for a blood donor to the admin of the application
The search option is provided according to the blood group in the application itself,
The user does not have to enter any thing in the application manually
Hospitals can also use this application to search the blood for the patient
The databases for the blood banks and blood groups are been separated due to the
security purpose
6
INTRODUCTION
This project acts as an important role in saving life of human beings and which is
also its main aim. The project Android Blood finder application is developed so that
users can view the information about registered blood donors such as name,
The project also has a enroll page where in the user can Enroll i.e request the admin
to being a donor. Thus this application helps to select the right donor instantly using
The main aim of developing this application is to reduce the time to a great extent
that is spent in searching for the right donor and the availability of blood required.
Thus this application provides the required information in no time and also helps in
Advantages :-
• This system can be used to view all the donor details and accordingly select
• This system can also be used to view nearby blood banks in very quick time
• The android mobile user will be able make quick decision in selecting a
donor.
7
• Usage of this application will greatly reduce time in selecting the right donor.
• The application can prove very beneficial in to the clinics, hospitals as the
REQUIREMENT SPECIFICATION
developed . It lays out functional and non-functional requirements, and may include a set
of use cases that describe the user interactions that the software must provide.
8
SOFTWARE REQUIREMNTS :-
HARDWARE REQUIREMENTS :-
Hard Disk :- 5 GB
RAM :- 4 GB
ANDROID DEVICE
FUNCTIONAL REQUIREMENT :-
ADMIN :-
Admin can ADD, UPDATE, DELETE the Blood Bank’s Database as required.
2. Blood Donor’s :-
Admin can ADD, UPDATE, DELETE the Blood Donor’s Database as required.
9
Admin can check for the Request of User’s to be a Donor & add them in the
Donor’s list.
Logout : The Admin can Logout using this Option & redirect to the Main Page of the
Application
USER :-
Search Blood Bank’s in Mumbai : The User can Search the Blood banks in Mumbai
& contact them or go there for the Requirement of the Blood to the User.
Search Donor’s : The User can Search for the Blood Donor’s nearest to it as of its
Requirements of Blood Group & contact the person for the blood donation.
Enroll to be a Donor : The User can enroll the request for being the donor to the
Admin.
NON-FUCTIONAL REQUIREMENT :-
Performance Requirements :
specification plays an important part in the analysis of the system, which will fit into
10
required environment. It rests largely with the users of the system to give the requirement
specifications because they are the people who finally use the system. This is because the
requirements have to be known during the initial stage so that the system can be designed
according to those requirements. It is Very difficult to change the system once it has been
designed and on the other hand designing a system, which does not cater to the
requirements of the user, is of no use. The requirement Specification for any system can
Reliability
Security
Availability
FEASIBLITY STUDY
Feasibility study includes consideration of all the possible way to provide solution to the
given problem. The proposed solution should satisfy all the user requirements and should
11
be flexible enough so that future changes can be easily done based on the future
requirements.
OPERATIONAL FEASIBILTY
Operation of the proposed system depend on the it’s user. These various user type are
mentioned below:
1. Admin
2. User
Admin :-
If the user preform an unusual or illegal kind of task then the admin may wish to
Admin can provide necessary information related to the application such as new
updates.
Admin can add new Blood Banks in the Application while Updating the data
User :-
User can Search for the Blood donor’s & blood banks on basis of its requirements
User can Updates related to the application is provided by the admin to the user.
User can Enroll the Request form to the Admin for being a Donor
12
TECHNICAL FEASIBLITY
This system avoids manual work such as maintaining a hard copy of Blood
Donor’s list.
This application keeps the data in a centralized way which is available to all the
user
ECONOMICAL FEASIBLITY
All people are aware of technologies so no special skills required to run the system
SYSTEM DESIGN
E-R DIAGRAM :-
13
CLASS DIAGRAM :-
14
15
USE CASE DIAGRAM :-
ADMIN
Enroll User
request for donor
USER
16
Enroll the user
17
SYSTEM FLOW CHART
Start
No
Is Admin Is User
No
Yes
Login
Yes
Admin Is Valid
Manage Search
Blood Bank Donor’s
Manage Search
Blood Donor Blood Banks
Logout
Exit
18
CODE :-
//Login.java
package airlines;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
TextField t1,t2;
Label l1,l2;
Button b2,b3,b4;
GridBagLayout gbl;
GridBagConstraints gbc;
Font f1,f2;
public Login(){
super("Login");
setBackground(Color.WHITE);
f1 = new Font("TimesRoman",Font.BOLD,20);
f2 = new Font("TimesRoman",Font.BOLD,15);
gbl=new GridBagLayout();
gbc=new GridBagConstraints();
setLayout(gbl);
l1 = new Label("Username");
l1.setFont(f1);
l2 = new Label("Password");
l2.setFont(f1);
19
t1 = new TextField(15);
t2 = new TextField(15);
t2.setEchoChar('*');
b2 = new Button("Reset");
b2.setFont(f2);
b3 = new Button("Submit");
b3.setFont(f2);
b4 = new Button("Close");
b4.setFont(f2);
gbc.gridx=0;
gbc.gridy=0;
gbl.setConstraints(l1,gbc);
add(l1);
gbc.gridx=2;
gbc.gridy=0;
gbl.setConstraints(t1,gbc);
add(t1);
gbc.gridx=0;
gbc.gridy=2;
gbl.setConstraints(l2,gbc);
add(l2);
gbc.gridx=2;
gbc.gridy=2;
gbl.setConstraints(t2,gbc);
add(t2);
20
gbc.gridx=0;
gbc.gridy=8;
gbl.setConstraints(b2,gbc);
add(b2);
gbc.gridx=2;
gbc.gridy=8;
gbl.setConstraints(b3,gbc);
add(b3);
gbc.gridx=4;
gbc.gridy=8;
gbl.setConstraints(b4,gbc);
add(b4);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
setVisible(true);
setSize(400,250);
setLocation(400,200);
}
t1.setText("");
t2.setText("");
}
if(ae.getSource()==b4){
System.exit(0);
}
21
if(ae.getSource()==b3){
try{
conn c1 = new conn();
String s1 = t1.getText();
String s2 = t2.getText();
if(rs.next()){
Mainframe form = new Mainframe();
form.setVisible(true);
}else{
JOptionPane.showMessageDialog(null,"Invalid
Login");
setVisible(false);
}
}catch(Exception e){}
}
}
22
// Mainframe.java
package airlines;
import javax.swing.ImageIcon;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public Mainframe() {
super("AIRLINE RESERVATION MANAGEMENT SYSTEM");
initialize();
}
setForeground(Color.CYAN);
setLayout(null);
JLabel NewLabel = new JLabel("");
NewLabel.setIcon(new
ImageIcon(ClassLoader.getSystemResource("airlines/icon/front.jpg")
));
NewLabel.setBounds(0, 0, 2500,700);
add(NewLabel);
23
AirlineManagementSystem.setFont(new Font("Tahoma",
Font.PLAIN, 36));
AirlineManagementSystem.setBounds(550, 50, 9500, 55);
NewLabel.add(AirlineManagementSystem);
24
JMenuItem TicketReservation = new
JMenuItem("Ticket_Reservation");
Ticket.add(TicketReservation);
Misc.add(Logout);
Logout.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
new Login();
}
});
FlightDetails.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
new Flight_Info();
25
}
});
ReservationDetails.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try {
new Add_Customer();
} catch (Exception e) {
e.printStackTrace();
}
}
});
PassengerDetails.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try {
new Journey_Details();
} catch (Exception e) {
e.printStackTrace();
}
}
});
SectorDetails_1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try {
new Payment_Details();
} catch (Exception e) {
e.printStackTrace();
}
}
});
Cancellation.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
26
new Cancel();
}
});
TicketReservation.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
new Ticket_Reservation();
}
});
PaymentDetails.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try {
new Payment_Details();
} catch (Exception e) {
e.printStackTrace();
}
}
});
setSize(1950,1090);
setVisible(true);
}
}
package airlines;
import net.proteanit.sql.DbUtils;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
27
private JTextField textField;
public Flight_Info(){
getContentPane().setBackground(Color.WHITE);
getContentPane().setFont(new Font("Tahoma", Font.PLAIN, 13));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(860,523);
setLayout(null);
setVisible(true);
btnShow.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
28
try {
conn c = new conn();
String str = "select
f_code,f_name,src,dst,capacity,class_code,class_name from flight ,sector where
f_code = '"+code+"'";
ResultSet rs = c.s.executeQuery(str);
table.setModel(DbUtils.resultSetToTableModel(rs));
}catch(SQLException e){
e.printStackTrace();
}
}
});
29
JLabel FlightName = new JLabel("FLIGHT NAME");
FlightName.setFont(new Font("Tahoma", Font.PLAIN, 13));
FlightName.setBounds(145, 220, 120, 14);
add(FlightName);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
setSize(900,650);
30
setVisible(true);
setLocation(200,90);
}
}
package airlines;
import java.awt.EventQueue;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
JTextField
textField,textField_1,textField_2,textField_3,textField_4,textField_5,textField_6;
public Add_Customer(){
getContentPane().setForeground(Color.BLUE);
getContentPane().setBackground(Color.WHITE);
setTitle("ADD CUSTOMER DETAILS");
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
setSize(778,486);
getContentPane().setLayout(null);
31
JButton Next = new JButton("SAVE");
Next.setBounds(200, 420, 150, 30);
Next.setBackground(Color.BLACK);
Next.setForeground(Color.WHITE);
add(Next);
32
add(Name);
setVisible(true);
33
JLabel Flightcode = new JLabel("FLIGHT CODE");
Flightcode.setFont(new Font("Tahoma", Font.PLAIN, 17));
Flightcode.setBounds(60, 30, 150, 27);
add(Flightcode);
ImageIcon i1 = new
ImageIcon(ClassLoader.getSystemResource("airlines/icon/emp.png"));
JLabel image = new JLabel(i1);
image.setBounds(450,80,280,410);
add(image);
Next.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
String passport_No = textField.getText();
String pnr_no = textField_1.getText();
String address = textField_2.getText();
String nationality = textField_3.getText();
String name = textField_4.getText();
String fl_code = textField_6.getText();
if(NewRadioButton.isSelected()){
gender = "male";
}else if(Female.isSelected()){
gender = "female";
}
34
try {
conn c = new conn();
String str = "INSERT INTO passenger values( '"+pnr_no+"',
'"+address+"', '"+nationality+"','"+name+"', '"+gender+"',
'"+ph_no+"','"+passport_No+"', '"+fl_code+"')";
c.s.executeUpdate(str);
JOptionPane.showMessageDialog(null,"Customer Added");
setVisible(false);
} catch (Exception e) {
e.printStackTrace();
}
}
});
setSize(900,600);
setVisible(true);
setLocation(200,100);
}
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import net.proteanit.sql.DbUtils;
35
JTable table;
JLabel
ReservationDetails,Pnrno,Ticketid,Fcode,Jnydate,Jnytime,Source,Destination,label,
label1;
JButton Show;
public Journey_Details(){
setTitle("JOURNEY_DETAILS");
getContentPane().setBackground(Color.WHITE);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
36
ReservationDetails.setForeground(Color.BLUE);
ReservationDetails.setFont(new Font("Tahoma", Font.PLAIN, 31));
ReservationDetails.setBounds(280, 27, 359, 31);
add(ReservationDetails);
37
Destination.setBounds(717, 270, 94, 20);
add(Destination);
Show.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
String src = (String) comboBox.getSelectedItem();
String dst = (String) comboBox_1.getSelectedItem();
if(rs.next()){
table.setModel(DbUtils.resultSetToTableModel(rs));
}else{
38
JOptionPane.showMessageDialog(null,"No Flights between Source
and Destination");
}catch(Exception e){}
}
});
setSize(860,600);
setLocation(200,100);
setVisible(true);
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package airlines;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import net.proteanit.sql.DbUtils;
JTextField textField;
JTable table;
JLabel Sector;
JLabel FlightCode, Capacity, Classcode, Classname, label;
39
public static void main(String[] args) {
new Payment_Details();
}
public Payment_Details(){
initialize();
}
40
Sector.setFont(new Font("Tahoma", Font.PLAIN, 31));
Sector.setBounds(51, 17, 300, 39);
add(Sector);
41
Phoneno.setBounds(712, 294, 86, 24);
add(Phoneno);
setVisible(true);
Show.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try {
String code = textField.getText();
ResultSet rs = c.s.executeQuery(str);
table.setModel(DbUtils.resultSetToTableModel(rs));
}catch(SQLException e) {
e.printStackTrace();
}
}
});
setSize(960,590);
setLocation(200,100);
setVisible(true);
}
}
package airlines;
import java.awt.*;
import java.awt.event.*;
42
import java.sql.*;
import javax.swing.*;
import net.proteanit.sql.DbUtils;
JTable table;
JLabel
ReservationDetails,Pnrno,Ticketid,Fcode,Jnydate,Jnytime,Source,Destination,label,
label1;
JButton Show;
public Ticket_Reservation(){
setTitle("Ticket_Reservation");
getContentPane().setBackground(Color.WHITE);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
43
Show.setBounds(680, 100, 100, 30);
add(Show);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
44
Source.setFont(new Font("Tahoma", Font.PLAIN, 13));
Source.setBounds(613, 270, 94, 20);
add(Source);
Show.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try{
String src = (String) comboBox.getSelectedItem();
String dst = (String) comboBox_1.getSelectedItem();
45
String str = "select pnr_no,ticket_id,f_code,jny_date,jny_time,src,dst
from reservation where src = '"+src+"' and dst = '"+dst+"'";
ResultSet rs=c.s.executeQuery(str);
if(rs.next()){
table.setModel(DbUtils.resultSetToTableModel(rs));
}else{
JOptionPane.showMessageDialog(null,"No Flights between Source
and Destination");
}catch(Exception e){}
}
});
setSize(860,600);
setLocation(200,100);
setVisible(true);
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package airlines;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import net.proteanit.sql.DbUtils;
46
public class Payment_Details extends JFrame{ //Fifth
JTextField textField;
JTable table;
JLabel Sector;
JLabel FlightCode, Capacity, Classcode, Classname, label;
public Payment_Details(){
initialize();
}
47
Show.setForeground(Color.WHITE);
Show.setBounds(200, 210, 150, 26);
add(Show);
48
JLabel Cardno = new JLabel("CARD_NO");
Cardno.setFont(new Font("Tahoma", Font.PLAIN, 13));
Cardno.setBounds(602, 299, 101, 19);
add(Cardno);
setVisible(true);
Show.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
try {
String code = textField.getText();
ResultSet rs = c.s.executeQuery(str);
table.setModel(DbUtils.resultSetToTableModel(rs));
}catch(SQLException e) {
e.printStackTrace();
}
}
});
setSize(960,590);
setLocation(200,100);
setVisible(true);
49
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package airlines;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public Cancel() {
initialize();
}
50
add(Cancellation);
ImageIcon i1 = new
ImageIcon(ClassLoader.getSystemResource("airlines/icon/cancel.png"));
Image i2 = i1.getImage().getScaledInstance(250, 250,
Image.SCALE_DEFAULT);
ImageIcon i3 = new ImageIcon(i2);
JLabel NewLabel = new JLabel(i3);
NewLabel.setBounds(470, 100, 250, 250);
add(NewLabel);
51
JButton Cancel = new JButton("CANCEL");
Cancel.setFont(new Font("Tahoma", Font.PLAIN, 14));
Cancel.setBackground(Color.BLACK);
Cancel.setForeground(Color.WHITE);
Cancel.setBounds(250, 350, 150, 30);
add(Cancel);
Cancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
52
try{
conn c = new conn();
String str = "INSERT INTO cancellation values('"+passenger_no+"',
'"+cancellation_no+"', '"+cancellation_date+"', '"+ticket_id+"', '"+flight_code+"')";
c.s.executeUpdate(str);
JOptionPane.showMessageDialog(null,"Ticket Canceled");
setVisible(false);
}catch (Exception e) {
e.printStackTrace();
}
}
});
setSize(860,500);
setVisible(true);
setLocation(200,100);
}
}
package airlines;
import java.sql.*;
53
System.out.println(e);
}
}
}
RESULTS
TABLES :-
Table Name :- Blood Bank
Column Data Type
Bank_id Integer
Bank_name Varchar
Bank_address Varchar
Bank_contact Integer
Donor_id Integer
Donor_name Varchar
Donor_address Varchar
Donor_contact Integer
Donor_blood_group Varchar
User_id Integer
User_name Varchar
54
User_address Varchar
User_contact Integer
User_blood_group Varchar
SCREENSHOTS
User :-
55
56
Admin :-
57
58
59
60
61
FUTURE SCOPE
62
REFRENCE AND BIBLIOGRAPHY
1) www.stackoverflow.com
2) www.github.com
3) www.youtube.com
4) www.simplifiedcoding.com
63