omargalal20 / Dream-Big

A MERN Stack Airline Reservation System.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project Title (Summary)

Safe-Escape, an Airline Reservation System developed by a team of 5 amazing engineering students using MERN stack. This Airline Reservation System is a web application through which individuals can reserve and pay for flights in order to travel to different countries and domestic cities.

Motivation

The main reasons behind pursuing such a great project was to develop collaborative thinking, problem solving, and many other important techniques that are needed to form a great engineer in order to perform in the future market.

Installation

In Order to download the project and try the demo, clone the project link in your command prompt using the following link “https://github.com/advanced-computer-lab/Dream-Big.git”. Install npm using “npm i” in order to download all packages and dependencies needed for the project to function. Repeat the process in both the FrontEnd and the BackEnd. Start the BackEnd Server using node sever.js, then start the front end using the npm start command.

How to use

As a user you can view the website features with either having an account or not. First of all our home page has a Navigation bar which contains a search button which will allow the guest user to search for the flight he wants. He can search by the current country, destination country, flight date, class type or the number of passengers( considering the available number of seats in the required flight). A list of the available outbound flights will be displayed in the form of cards which a user can either hover over or use the pre/next button ,then the details of the selected flight is shown. Same process goes for the round trip flight .As a guest user this is the last step you can reach, however as a logged in user you can select the seats you wish to reserve for both flights, you will only be allowed to select the seats of your chosen cabin, then you will move for the confirmation and payment step. After confirmation, a mail will be sent to you with your flight details and you will also be allowed to scan the QR code.

Features

Our project consists of three main user-types: Admin, Guest User, and Logged In User. The admin can create flights, update them, and delete those flights. Along with the ability to edit their details such as number of seats in each cabin, etc. Guest Users may search for flights and view them, reserve them. However, In order to confirm the reservation the Guest User should sign up (Login) to pay for his reservation. Users May also update their information that is shown or change their account password. After Payment, an itinerary is sent to him via mail, while a qr code is produced for him to view the ticket and his reservation on his mobile phone. Moreover, the user may edit his reserved flight and pick a new flight with paying the difference or getting a refund.

Tech/Framework Used

The very famous MERN stack technique was used. Express js and Node js were the 2 main frameworks used to build the BackEnd, our database was saved in mongoDB atlas, while React js with different packages was the main tool in the process of building the amazing FrontEnd.

Code Style

The project is a MERN Stack based, Where the BackEnd was made by using the MVC technique (Model and Controller). Regarding the FrontEnd, React Components in different files was the main method in developing the front end part; assets was the folder used to put the miscellaneous files, pictures and any other file that helped in the development phase. All routes that were used to build the project hierarchy were put in the App.Jsx. Context was used to share Global Data and Variables between the components in order to start communication in between them. Context provides a way to share values like these between components without having to explicitly pass a prop through every level of the tree.

License

Dream-Big ©, a group of ambitious engineers who study at the German University in Cairo, were the main Contributors in such a great project with the help of a great team of TAs and Dr Mervat.

About

A MERN Stack Airline Reservation System.


Languages

Language:JavaScript 55.9%Language:Handlebars 39.5%Language:CSS 2.2%Language:SCSS 2.1%Language:HTML 0.3%