Airline Reservation System
Airline Reservation System
Abstract
The Flight Booking System is a comprehensive web-based application developed using Java Spring Boot as the
backend framework and HTML, CSS, JavaScript, and Bootstrap for the frontend interface. The system is designed
to simplify the process of booking, managing, and tracking flight reservations for both customers and
administrators, providing a seamless and efficient user experience.
This project aims to automate the traditional manual flight booking process, which is often time-consuming, error-
prone, and inefficient. Through this system, users can register and log in securely, search for available flights based
on departure and arrival cities, view flight schedules, and proceed to book seats with real-time availability status.
The application ensures data integrity and performance by utilizing a MySQL database to store and manage user
details, flight information, booking records, and payment transactions.
The backend, powered by Spring Boot, handles all business logic, including authentication, session management,
and data validation. RESTful APIs ensure smooth communication between the frontend and backend components.
On the client side, Bootstrap is used to design a responsive and user-friendly interface, making the system
accessible across various devices.
In addition to user functionalities, the system includes an admin panel where administrators can add new flights,
update flight details, manage bookings, and generate reports. This modular and scalable design ensures easy future
expansion, such as integrating payment gateways or APIs for real-time flight updates.
Overall, the Flight Booking System offers a practical and real-world solution that demonstrates effective full-stack
development skills, combining modern technologies to deliver a robust and efficient travel reservation platform.
1|Page
INTRODUCTION
PROJECT PROFILE
In the Software only user with the legal username and password can sign in. A
ticketing manager can book, cancel or postpone any flight for any customer. Flights are
booked through Flight Reservation Module in which all the details regarding customer
and his flight are entered. A receipt no. is provided to every customer which is unique for
each customer and with the help of which cancellation and postpone of flight can be
done.
2|Page
OBJECTIVE
Our software will perform and fulfill all the tasks that any customer would desire.
Our software system mainly deals with customers booking and cancelling
of flight in the airlines.
The various features added to the project provide all the functions to make
the task easy to perform.
3|Page
SYSTEM ANALYSIS
EXISTING SYSTEM:
Information Gathering
Feasibility study
In the current system we need to keep a number of records related to the customer
and want to enter the details of the customer manually. In this system only the ticketing
manager views the details of the customer and they can edit the date of flight of the
customer or can delete the flight. This is time consuming and has much cost.
4|Page
PROPOSED SYSTEM
In our proposed system we have the provision for adding the details of the customers by
ticketing manager with the help of predefined format and drop-down lists. So the
overhead of the ticketing manager is become less. Another advantage of the system is
that it is very easy to edit the details of the customers and delete a ticket entry when it
found unnecessary.
Our proposed system has several advantages
Less error
Quick transaction
All the manual difficulties in managing the customer details in a airline reservation
database have been rectified by implementing computerization.
5|Page
PROJECT PLANNING
FEASIBILITY ANALYSIS
Whatever we think need not be feasible. It is wise to think about the feasibility of any
problem we undertake. Feasibility is the study of impact, which happens in the
organization by the development of a system. The impact can be either positive or
negative. When the positives nominate the negatives, then the system is considered
feasible. Here the feasibility study can be performed in two ways such as technical
feasibility and Economical Feasibility.
Technical Feasibility
We can strongly says that it is technically feasible, since there will not be much
difficulty in getting required resources for the development and maintaining the system as
well. All the resources needed for the development of the software as well as the
maintenance of the same is available in the organization here we are utilizing the
resources which are available already.
Economic Feasibility:
6|Page
HARDWARE CONFIGURATION
SOFTWARE CONFIGURATION
Windows 98,
Windows XP.
Language : Java
Database : MySQL.
7|Page
SYSTEM REQUIREMENTS
8|Page
SYSTEM DESIGN
JAVA
The entire component has been developed using Java technology. Java has been chosen
as the platform because of its feature rich nature. The Java Platform provides robust end-
to-end solutions for networked applications as well as a trusted standard for embedded
applications. So Java was a natural choice for development process.
Characteristics of Java
Object Oriented:
Java is object oriented to the truest sense of the word. Everything in Java is represented
as objects. Variables and methods both are encapsulated in objects. Java is the purest
object-oriented language.
Robust:
Memory management relief for the user. User does not have to worry about
allocation and de-allocation of memory.
Strict compile-time and runtime checks for data types.
Java is portable and platform independent so much that they satisfy “write once; run
anywhere, anytime, forever”. This feature is implemented in the following ways:
Compiler generates machine independent byte-code instructions which can be run
on any machine supporting Java Virtual Machine.
Size of primitive data type is machine independent.
9|Page
Multithreaded:
Distributed:
Secure:
Programs carry with them a substantial amount of runtime type information that
is used to verify and resolve accesses to objects at run-time.
High Performance:
Just-In-Time (JIT) compilers are used to convert byte-code into native machine code
resulting in very high performance. These JIT compilers can be used on a real time, piece
10 | P a g e
by piece demand basis to perform on-the-fly compilation of byte-code into native-code.
Interpretation: Byte-code to machine code (for any system that supports using JVM)
Thus cross-platform programs can be written.
11 | P a g e
JAVA SWINGS
"Swing" refers to the new library of GUI controls (buttons, sliders, checkboxes, etc.) that
replaces the somewhat weak and inflexible AWT controls.
The Swing classes eliminate Java's biggest weakness: its relatively primitive user
interface toolkit. Java Swing helps you to take full advantage of the Swing classes,
providing detailed descriptions of every class and interface in the key Swing packages. It
shows you how to use all of the new components, allowing you to build state-of-the-art
user interfaces and giving you the context you need to understand what you're doing. It's
more than documentation; Java Swing helps you develop code quickly and effectively.
1. Main New Features
Much bigger set of built-in controls: Trees, image buttons, tabbed panes, sliders,
toolbars, color choosers, tables, text areas to display HTML or RTF, etc.
Much more customizable. Can change border, text alignment, or add image to almost
any control. Can customize how minor features are drawn. Can separate internal
representation from visual appearance.
"Pluggable" look and feel. Can change look and feel at runtime, or design own look and
feel.
Many miscellaneous new features. Double-buffering built in, tool tips, dock able tool
bars, keyboard accelerators, custom cursors, etc.
2. Components are named Jax.
J Component
The J Component class is the root of the Visual component class hierarchy in JFC. All
Swing components are implemented as subclass of J components class, which inherits
from the Container class. Swing component inherit the following functionality from J
Component
12 | P a g e
a). Borders- Using the setBorder() method, you can specify the border that a component
displays around its edges. You can specify that component have extra space around its
edges using an EmptyBorder instance.
b). Double Buffering- It can improve the appearance of frequently changing components.
Now you do not have to write the double buffering code because Swing provides it for
you. By default Swing components are double buffered.
c). Tool Tips- By specifying a string with the setToolTipNext() method, you can provide
help to users of a components. When the cursor pauses over the components, the
specified string is displayed in small window near the component.
d). Look and Feel- Subject to the security restriction, you can choose the look and feel
used by all Swing components by invoking the UIManager.setLookAndFeel() method.
AWT components are always on top, and z-ordering problems catch you in many
unexpected ways. Stick with the AWT or move completely to Swing.
14 | P a g e
JDBC
The JDBC is a set of the database access classes. The very term JDBC stands for “Java
Database Connectivity”. It was developed by Java Soft. JDBC technology is an API
(Application Program Interface) that allows virtual access to any tabular data source from
the Java programming language by means of some connecting software called Drivers. It
provides cross-DBMS connectivity to a wide range of SQL databases. JDBC defines a set
of interfaces to enable developers to access data independently of the actual database
product used to store the data. JDBC allow Java applets, Servlets, and application to
access data in famous database management systems.
It also provides access to other tabular data sources, such as spreadsheets or flat files.
The JDBC API allows developers to take advantage of the Java platform's "Write Once,
Run Anywhere" capabilities for industrial strength, cross-platform applications that
require access to enterprise data. With a JDBC technology-enabled driver, a developer
can easily connect all corporate data even in a heterogeneous environment. The JDBC
API is the industry standard for database-independent connectivity between the Java
programming language and a wide range of databases. The JDBC API makes it possible
to do three things:
Establish a connection with a database or access any tabular data source
4) The result of the query operation in step 3 is a Result Set type of object(C)
15 | P a g e
JDBC ARCHITECTURE
JDBC drivers are divided into four types or levels. Each type defines a JDBC driver
implementation with increasingly higher levels of platform independence, performance,
deployment administration. The four types are:
Type 1: JDBC-ODBC Bridge
16 | P a g e
Type1:JDBC-ODBC Bridge
The type 1 driver, JDBC-ODBC Bridge, translates all JDBC calls into ODBC (Open
Database Connectivity) calls and sends them to the ODBC driver. As such, the ODBC
driver, as well as, the client database code, must be present on the client machine.
JAVA APPLICATION
JDBC/ODBC BRIDGE
ODBC DATABASE
DRIVER
17 | P a g e
Figure 1. Type 1: JDBC-ODBC Bridge
Pros: The JDBC-ODBC Bridge allows access to almost any database, since the database's
ODBC drivers are already available. Type 1 drivers may be useful for those companies
that have an ODBC driver already installed on client machines.
Cons: The performance is degraded since the JDBC call goes through the bridge to the
ODBC driver, then to the native database connectivity interface. The result comes back
through the reverse process. Considering the performance issue, type 1 drivers may not
be suitable for large-scale applications.
The ODBC driver and native connectivity interface must already be installed on the client
machine. Thus any advantage of using Java applets in an intranet environment is lost,
since the deployment problems of traditional applications remain. We have used JDBC-
ODBC Bridge Type Drivers.
INPUT DESIGN
18 | P a g e
Input design is the process of converting user-oriented input to a computer based
format. Input design is a part of overall system design, which requires very careful
attention .Often the collection of input data is the most expensive part of the system. The
main objectives of the input design are …
1. Produce cost effective method of input
Data Recording
Data Transcription
Data Conversion
Data Verification
Data Control
Data Transmission
Data Correction
One of the aims of the system analyst must be to select data capture method and
19 | P a g e
devices, which reduce the number of stages so as to reduce both the changes of errors and
the cost .Input types, can be characterized as.
External
Internal
Operational
Computerized
Interactive
Input files can exist in document form before being input to the computer. Input
design is rather complex since it involves procedures for capturing data as well as
inputting it to the computer.
OUTPUT DESIGN
20 | P a g e
Outputs from computer systems are required primarily to communicate the results
of processing to users. They are also used to provide a permanent copy of these result for
latter consultation .Computer output is the most important and direct source of
information to the users. Designing computer output should proceed in an organized well
throughout the manner. The right output must be available for the people who find the
system easy o use. The outputs have been defined during the logical design stage. If not,
they should defined at the beginning of the output designing terms of types of output
connect, format, response etc,
Various types of outputs are
External outputs
Internal outputs
Operational outputs
Interactive outputs
All screens are informative and interactive in such a way that the user can full fill
his requirements through asking queries.
DATABASE DESIGN
21 | P a g e
The general theme behind a database is to handle information as an integrated whole.
A database is a collection of interrelated data stored with minimum redundancy to
serve many users quickly and effectively. After designing input and output, the
analyst must concentrate on database design or how data should be organized around
user requirements. The general objective is to make information access, easy quick,
inexpensive and flexible for other users. During database design the following
objectives are concerned:-
Controlled Redundancy
Data independence
Performance
22 | P a g e
Context Diagram
SYSTEM IMPLEMENTATION
23 | P a g e
Implementation is the stage in the project where the theoretical design is turned into a
working system. The implementation phase constructs, installs and operates the new
system. The most crucial stage in achieving a new successful system is that it will work
efficiently and effectively.
There are several activities involved while implementing a new project. They are
System Design
The successful implementation of the new system will purely upon the involvement of
the officers working in that department. The officers will be imparted the necessary
training on the new technology
End User Education:
The education of the end user start after the implementation and testing is over.
When the system is found to be more difficult to understand and complex, more effort is
put to educate the end used to make them aware of the system, giving them lectures about
the new system and providing them necessary documents and materials about how the
system can do this.
After providing the necessary basic training on the computer awareness, the users
will have to be trained upon the new system such as the screen flows and screen design
24 | P a g e
type of help on the screen, type of errors while entering the data, the corresponding
validation check at each entry and the way to correct the data entered. It should then
cover information needed by the specific user or group to use the system.
25 | P a g e
CONCLUSION
26 | P a g e
BIBLIOGRAPHY
27 | P a g e
at SSRN: https://ssrn.com/abstract=4819626 or http://dx.doi.org/10.2139/ssrn.4819626
Acharya, Kamal, Online electricity billing project report. (May 7, 2024). Available at
SSRN: https://ssrn.com/abstract=4819630 or http://dx.doi.org/10.2139/ssrn.4819630
Acharya, Kamal, POLICY MANAGEMENT SYSTEM PROJECT REPORT. (December 10, 2023).
Available at SSRN: https://ssrn.com/abstract=4831694 or http://dx.doi.org/10.2139/ssrn.4831694
Acharya, Kamal, Online job placement system project report. (January 10, 2023). Available
at SSRN: https://ssrn.com/abstract=4831638 or http://dx.doi.org/10.2139/ssrn.4831638
Acharya, Kamal, Software testing for project report. (May 16, 2023). Available at
SSRN: https://ssrn.com/abstract=4831028 or http://dx.doi.org/10.2139/ssrn.4831028
Acharya, Kamal, ONLINE CRIME REPORTING SYSTEM PROJECT. (August 10, 2022).
Available at SSRN: https://ssrn.com/abstract=4831015 or http://dx.doi.org/10.2139/ssrn.4831015
Acharya, Kamal, Burber ordering system project report. (October 10, 2022). Available at
SSRN: https://ssrn.com/abstract=4832704 or http://dx.doi.org/10.2139/ssrn.4832704
Acharya, Kamal, Teachers Record Management System Project Report (December 10, 2023).
Available at SSRN: https://ssrn.com/abstract=4833821 or http://dx.doi.org/10.2139/ssrn.4833821
Acharya, Kamal, Dairy Management System Project Report (December 20, 2020). Available at
SSRN: https://ssrn.com/abstract=4835231 or http://dx.doi.org/10.2139/ssrn.4835231
Acharya, Kamal, Electrical Shop Management System Project (December 10, 2019). Available at
SSRN: https://ssrn.com/abstract=4835238 or http://dx.doi.org/10.2139/ssrn.4835238
Acharya, Kamal, Online book store management system project report. (Febuary 10, 2020).
Available at SSRN: https://ssrn.com/abstract=4835277 or http://dx.doi.org/10.2139/ssrn.4835277
Acharya, Kamal, Paint shop management system project report. (January 10, 2019). Available at
SSRN: https://ssrn.com/abstract=4835441 or http://dx.doi.org/10.2139/ssrn.4835441
Acharya, Kamal, Supermarket billing system project report. (August 10, 2021). Available at
SSRN: https://ssrn.com/abstract=4835474 or http://dx.doi.org/10.2139/ssrn.4835474
Acharya, Kamal, Online texi booking system project report. (March 10, 2022). Available at
SSRN: https://ssrn.com/abstract=4837729 or http://dx.doi.org/10.2139/ssrn.4837729
Acharya, Kamal, Online car servicing system project report. (March 10, 2023). Available at
SSRN: https://ssrn.com/abstract=4837832 or http://dx.doi.org/10.2139/ssrn.4837832
28 | P a g e
Acharya, Kamal, School management system project report. (July 10, 2021). Available at
SSRN: https://ssrn.com/abstract=4837837 or http://dx.doi.org/10.2139/ssrn.4837837
Acharya, Kamal, Furniture Showroom Management System Project Report (March 21, 2021).
Available at SSRN: https://ssrn.com/abstract=4839422 or http://dx.doi.org/10.2139/ssrn.4839422
Acharya, Kamal, Online Vehicle Rental System Project Report (March 21, 2019). Available at
SSRN: https://ssrn.com/abstract=4839429 or http://dx.doi.org/10.2139/ssrn.4839429
Acharya, Kamal, Fruit Shop Management System Project Report (August 10, 2023). Available at
SSRN: https://ssrn.com/abstract=4841048 or http://dx.doi.org/10.2139/ssrn.4841048
Acharya, Kamal, Hall Booking Management System Project Report (December 21, 2023). Available
at SSRN: https://ssrn.com/abstract=4841055 or http://dx.doi.org/10.2139/ssrn.4841055
Acharya, Kamal, Lundry Management System Project Report (October 21, 2023). Available at
SSRN: https://ssrn.com/abstract=4841059 or http://dx.doi.org/10.2139/ssrn.4841059
Acharya, Kamal, A CASE STUDY OF CINEMA MANAGEMENT SYSTEM PROJECT (September 25,
2023). Available at
SSRN: https://ssrn.com/abstract=4841209 or http://dx.doi.org/10.2139/ssrn.4841209
Acharya, Kamal, A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT (May 25,
2024). Available at
SSRN: https://ssrn.com/abstract=4841210 or http://dx.doi.org/10.2139/ssrn.4841210
Acharya, Kamal, ONLINE DATING MANAGEMENT SYSTEM PROJECT REPORT. (April 25,
2023). Available at
SSRN: https://ssrn.com/abstract=4842066 or http://dx.doi.org/10.2139/ssrn.4842066
Acharya, Kamal, TOLL TEX MANAGEMENT SYSTEM PROJECT REPORT (August 21, 2023).
Available at SSRN: https://ssrn.com/abstract=4842082 or http://dx.doi.org/10.2139/ssrn.4842082
Acharya, Kamal, Chat Application Through Client Server Management System Project Report (June
25, 2023). Available at
SSRN: https://ssrn.com/abstract=4842761 or http://dx.doi.org/10.2139/ssrn.4842761
29 | P a g e
Acharya, Kamal, Web Chatting Application Management System Project Report (April 25, 2022).
Available at SSRN: https://ssrn.com/abstract=4842771 or http://dx.doi.org/10.2139/ssrn.4842771
Acharya, Kamal, Automobile management system project report (May 25, 2022). Available at
SSRN: https://ssrn.com/abstract=4846917 or http://dx.doi.org/10.2139/ssrn.4846917
Acharya, Kamal, College bus management system project report (April 25, 2023). Available at
SSRN: https://ssrn.com/abstract=4846920 or http://dx.doi.org/10.2139/ssrn.4846920
Acharya, Kamal, Courier management system project report (May 25, 2023). Available at
SSRN: https://ssrn.com/abstract=4846922 or http://dx.doi.org/10.2139/ssrn.4846922
Acharya, Kamal, Event management system project report (April 25, 2021). Available at
SSRN: https://ssrn.com/abstract=4846927 or http://dx.doi.org/10.2139/ssrn.4846927
Acharya, Kamal, Library management system project report II (May 25, 2020). Available at
SSRN: https://ssrn.com/abstract=4848857 or http://dx.doi.org/10.2139/ssrn.4848857
30 | P a g e
31 | P a g e
View publication
stats