All Projects → harismuneer → Flight-Booking-System-JavaServlets_App

harismuneer / Flight-Booking-System-JavaServlets_App

Licence: MIT license
✈️ An enterprise level Flight Booking System for Turkish Airlines (web-application) based on the Model View Controller (MVC) Architecture made using Java Servlets, Java Server Pages (JSPs). Moreover authentication and authorization for users is implemented. The web-application is also secured against SQL Injection and Cross-Site Scripting attacks.

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to Flight-Booking-System-JavaServlets App

disaster-crawler
Data sources from Kimono currently unavailable
Stars: ✭ 13 (-87.85%)
Mutual labels:  ajax, web-application
website
Fully responsive website built with NextJS, React and Fluent UI, with the aim of providing services and access to all groups of didactic courses and general purposes to students of the University of Milan.
Stars: ✭ 29 (-72.9%)
Mutual labels:  web-application, responsive-web-design
Klik Socialmediawebsite
Complete PHP-based Login/Registration system, Profile system, Chat room, Forum system and Blog/Polls/Event Management System.
Stars: ✭ 129 (+20.56%)
Mutual labels:  ajax, web-application
drift-server
Drift server
Stars: ✭ 19 (-82.24%)
Mutual labels:  web-application, enterprise-applications
teaching-web-technologies-spring-2019-2020
Core PHP web project
Stars: ✭ 10 (-90.65%)
Mutual labels:  ajax, web-application
FaceNet-based-Attendance-System
Deep Learning based Web Application for marking attendance of students by recognizing the student's faces from the surveillance video footage of classroom.
Stars: ✭ 25 (-76.64%)
Mutual labels:  ajax, web-application
musicWebTemplate
Free website template built for musicians / artists to promote their music and connect to their audience.
Stars: ✭ 26 (-75.7%)
Mutual labels:  ajax, responsive-web-design
DiVE
An interactive 3D web viewer of up to million points on one screen that represent data. Provides interaction for viewing high-dimensional data that has been previously embedded in 3D or 2D. Based on graphosaurus.js and three.js. For a Linux release of a complete embedding+visualization pipeline please visit https://github.com/sonjageorgievska/Em…
Stars: ✭ 26 (-75.7%)
Mutual labels:  web-application
spring-demo-ajax
Example of AJAX with Spring Boot
Stars: ✭ 38 (-64.49%)
Mutual labels:  ajax
http4s-poc-api
POC: http4s http api on zio
Stars: ✭ 34 (-68.22%)
Mutual labels:  web-services
LogESP
Open Source SIEM (Security Information and Event Management system).
Stars: ✭ 162 (+51.4%)
Mutual labels:  web-application
BackEnd-Squad
Back End Squad Roadmap
Stars: ✭ 24 (-77.57%)
Mutual labels:  web-application
appng
appNG is an open source, horizontally scalable application platform for developing and operating applications efficiently. It can be used to build an Application Platform as a Service (aPaaS).
Stars: ✭ 32 (-70.09%)
Mutual labels:  web-application
php-mvc-framework
PHP MVC Framework - web application framework for modern and rapid development of web applications
Stars: ✭ 24 (-77.57%)
Mutual labels:  mvc-architecture
haykal
A Typescript MVC Framework
Stars: ✭ 24 (-77.57%)
Mutual labels:  mvc-architecture
textyle
Web tilemap editor for 2D games built using React JS, WebGL and Rust (WASM).
Stars: ✭ 87 (-18.69%)
Mutual labels:  web-application
softn-cms
Sistema de gestión de contenidos
Stars: ✭ 22 (-79.44%)
Mutual labels:  ajax
trento
An open cloud-native web console improving on the work day of SAP Applications administrators.
Stars: ✭ 35 (-67.29%)
Mutual labels:  web-application
PageQueryBoss
A ProcessWire Module to build complex nested queries containing multipple fields and pages and return an array that can be parsed to JSON. This is usefull to fetch data for SPA and PWA.
Stars: ✭ 18 (-83.18%)
Mutual labels:  ajax
bside
Github Content Management System
Stars: ✭ 22 (-79.44%)
Mutual labels:  web-application

Flight Booking System for Airlines (Java Web Application) ✈️

views Open Source Love svg1 GitHub Forks GitHub Issues contributions welcome

A fully responsive web-based Flight Booking System for Turkish Airlines based on the Model View Controller (MVC) Architecture made using Java Servlets, Java Server Pages (JSPs). Moreover authentication and authorization for users is implemented using Tomcat Roles. The web-application is also secured against SQL Injection and Cross-Site Scripting attacks.

Technologies Used

  • Frontend: HTML, CSS, JavaScript, Jquery, Bootstrap, Java Server Pages (JSPs), AJAX (for a Flight Search Widget)
  • Backend: Java Servlets, Java Models, Microsoft Access (Database)
  • Webservices: SOAP Web Services (to get price and number of seats)
  • Security Features: SQL Injection, Cross-Site Scripting (XSS), Tomcat Roles

Roles

Following roles are implemented:

  • Airline Admin
  • Airline Manager
  • Customer

Workflow (Functionalities)

This is for just one airline who wants to sell seats to their customers via internet.

Following are the steps of work flow:

  1. Airline Admin will set the prices of the seats. There should be three types of seats:
    • First Class
    • Business
    • Economy
  2. The Airline Admin should be able to create and update the features of each type of seat.
  3. The Airline Admin should be able to set the total number of seats for each flight.
  4. Airline Manager should see a list of seats which the Admin has added or edited when he/she logs in.
  5. Airline Manager then needs to approve the new price or updates.
  6. When the price and update is approved by the manager only then it should be available for the customer to buy.
  7. The Customer should be able to buy seats based on availability.
  8. When a customer buys a ticket the system should be able to calculate how many seats are left. If all seats are bought the application should not let the customers buy more seats.
  9. The Customer should be able to select the following, to select a seat:
    • origin and destination cities
    • dates of travel
    • number of people traveling
  10. When the customer selects the seat and confirms the booking flight Itinerary should be shown to the customer.
  11. When the customer approves the itinerary the customer should be taken to a payment page where the total price should be shown. When the customer presses the pay button consider the transaction done and mark the seat sold.
  12. Once the seat is sold, send out an email to the customer with the flight itinerary.

Interface

Home Pages

Login Page and Book Flight

Current Bookings and Itinerary

Seat Features and Approval

How to Run

1- Install these:

2- Open Netbeans IDE and go to Services > Servers > Apache Tomcat. Right click "Apache Tomcat" and select Properties. Copy the Catalina Base Path and open it. Open the "conf" folder and then the "tomcat-users.xml" file there. Copy the following lines and paste them in the tomcat-users.xml file before closing tag

<role rolename="Manager"/>
<role rolename="Admin"/>
<role rolename="Customer"/>

<user username="[email protected]" password="a" roles="Admin"/>
<user username="[email protected]" password="m" roles="Manager"/>
<user username="[email protected]" password="c" roles="Customer"/>

Morever, open and read the file. Only the users authenticated in this file are allowed to login and use the Booking System. Use above mentioned credentials to login through the Login Page.

3- Restart NetBeans IDE. Click on File -> Open Project and browse to the downloaded folder named "Project". There will be two projects there "Turkish Airlines" and "WSTester" (which is basically a project to test the Web Services). Select both and open them. Both projects will be loaded. Now first run the Turkish Airlines project, then to test the web services run WSTester project.



Hey there, I'm Haris Ultimate Facebook Scraper (UFS) - Maker of Things

Creator of Ultimate Facebook Scraper (one of the best software to collect Facebook data for research & analysis)


🌐 Connect

🤝 Consulting / Coaching

Stuck with some problem? Need help in solution development, guidance, training or capacity building? I am a Full Stack Engineer turned Project Manager with years of technical and leadership experience in a diverse range of technologies and domains. Let me know what problem you are facing at [email protected] and we can schedule a consultation meeting to help you get through it.

👨‍💻 Technical Skills & Expertise

  • Development of Web Applications, Mobile Applications, and Desktop Applications
  • Development of Machine Learning/Deep Learning models, and deployment
  • Web Scraping, Browser Automation, Python Scripting

❤️ Support / Donations

If you or your company use any of my projects, like what I’m doing or have benefited from my projects in any way then kindly consider backing my efforts.

For donations, you can follow these simple steps:

1) Free signup at TransferWise using this link: https://transferwise.com/invite/u/harism95. (Signing up through this link will save you from any transcation fee on the donation)

2) Select the amount e.g (15$) and choose the receiving/recipient's currency to be PKR. It supports multiple payment options (credit card, debit card, wire transfer etc)

3) Then it will show my info as the recipient, select it. If my name isn't shown, then type my email [email protected] in recipients.

4) Choose the reason for transfer to the one that suits you the most (in this case it could be 'General expenses') and in the reference section, you can mention 'Support'

If you face any issue in sending donation then feel free to get in touch with me at [email protected]

Thank you for your contribution!

Author

You can get in touch with me on my LinkedIn Profile: LinkedIn Link

You can also follow my GitHub Profile to stay updated about my latest projects: GitHub Follow

If you liked the repo then kindly support it by giving it a star and share in your circles so more people can benefit from the effort.

Contributions Welcome

forthebadge

If you find any bug in the code or have any improvements in mind then feel free to generate a pull request.

Issues

GitHub Issues

If you face any issue, you can create a new issue in the Issues Tab and I will be glad to help you out.

License

MIT

Copyright (c) 2018-present, harismuneer

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].