As a Full Stack Developer, design and develop an airline booking portal named as FlyAway. Use the GitHub repository to manage the project artifacts.
FlyAway is a ticket-booking portal that lets people book flights on their website.
The website needs to have the following features:
● A search form in the homepage to allow entry of travel details, like the date of travel, source, destination, and the number of persons. ● Based on the travel details entered, it will show the available flights with their ticket prices. ● Once a person selects a flight to book, they will be taken to a register page where they must fill in their personal details. In the next page, they are shown the flight details of the flight that they are booking, and the payment is done via a dummy payment gateway. On completion of the payment, they are shown a confirmation page with the details of the booking.
For the above features to work, there will be an admin backend with the following features:
● An admin login page where the admin can change the password after login, if he wishes ● A master list of places for source and destination ● A master list of airlines ● A list of flights where each flight has a source, destination, airline, and ticket price
The goal of the company is to deliver a high-end quality product as early as possible.
The flow and features of the application:
● Plan more than two sprints to complete the application ● Document the flow of the application and prepare a flow chart ● List the core concepts and algorithms being used to complete this application ● Implement the appropriate concepts, such as exceptions, collections, and sorting techniques for source code optimization and increased performance
You must use the following:
● Eclipse/IntelliJ: An IDE to code for the application ● Java: A programming language to develop the web pages, databases, and others ● SQL: To create tables for admin, airlines, and other specifics ● Maven: To create a web-enabled Maven project ● Git: To connect and push files from the local system to GitHub ● GitHub: To store the application code and track its versions ● Scrum: An efficient agile framework to deliver the product incrementally ● Search and Sort techniques: Data structures used for the project ● Specification document: Any open-source document or Google Docs
The following requirements should be met:
Note: The source code should be pushed to your GitHub repository. You need to document the steps and write the algorithms in it and also save the screenshots of the output. This will be used later for creating your GitHub Portfolio.
● The submission of your GitHub repository link is mandatory. In order to track your task, you need to share the link of the repository. You can add a section in your document. ● Document the step-by-step process starting from sprint planning to the product release. ● The application should not close, exit, or throw an exception if the user specifies an invalid input. ● You need to submit the final specification document which will include: ● Project and developer details ● Sprints planned and the tasks achieved in them ● Algorithms and flowcharts of the application ● Core concepts used in the project ● Links to the GitHub repository to verify the project completion