The following Project is a complete implementation of a Flight Booking Website using MERN stack that simulate a thorough experience of reserving a flight.
The website is designed to recreate a flight booking experience where the user can go from selecting a flight they want to reserve to choosing the seats they want from the available seats that are shown to them to confirming their flight and paying for them with their debit/credit card.
If the user is logged in as an administator then they have the ability to create/edit/delete any flight they want to.
The user also has the ability to sign up in order to have their data stored in order to book any flight the want if they are visiting the website as a guest.
The user can also check their reserved flight as well as change any criteria they do not like form changing the seats that they chose to changing the whole flight from beginning to end, also they can cancel their flight simply and get their money back.
The reason behind this project is creating a full working flightbooking website with every feature needed to ensure a satisfying experience for all the users with minimal effort.
The code fully works and does not contain any bugs/errors.
Back-end installation:
npm install express node mongoose reactnpm install nodemailer npm install bcryptjs npm install body-parser npm install jsonwebtoken npm install corsnpm install confignpm install nodemonFront-end installation:
cd client
npm installnpm install axiosnpm install reactnpm install react-bootstrapnpm install react-confirm-alertnpm install react-confirm-boxnpm install react-domnpm install react-iconsnpm install react-responsive-modalnpm install react-router-domnpm install react-scriptsnpm install react-stripe-checkoutnpm install styled-componentsnpm install utilsnpm install web-vitalsnpm install @emotion/reactnpm install @emotion/stylednpm install @mui/icons-materialnpm install @mui/materialnpm install @mui/x-data-gridnpm install @stripe/react-stripe-jsnpm install @stripe/stripe-jsnpm install @testing-library/jest-domnpm install @testing-library/reactnpm install @testing-library/user-eventTo be able to run the project the following codes will be run on two terminals:
Terminal 1
npm run appTerminal 2
cd clientnpm startAlso a database connection need to be made before using the website and this can be achieved in the following steps:
1-Create a mongoose atlas account and establish a connection
2-Enter the following line in app.js file to connect the database using the code in the link below: https://www.mongodb.com/blog/post/quick-start-nodejs-mongodb-how-to-get-connected-to-your-database
3-Change username, password and your-cluster-url to your info. where you will find them in your connection.
Every aspect of the project could be tested like for example creating a flight and reserving it, cancelling a reservation and getting refunded, deleting/editing a flight, changing seats or flights to see the reflection of these things on the database.
For anyone who would like to contribute in the development of the project just clone the repository using the link that you can find in 'code' button or use the following link:
git clone https://github.com/advanced-computer-lab/AclProject.gitGerman University in Cairo
| Name | Mohamed Mahmoud | Noureldin Hesham | Youssef Magdy | Ahmed Hussein | Omar Alhadi |
|---|---|---|---|---|---|
| ID | 46-14531 | 46-12946 | 46-0929 | 46-0726 | 46-14114 |
MIT © ACLTeam







