Welcome to the Zeyad Tyara Air Travel Agency website, dedicated to those who love traveling and adventure!
- View and book flights: As a user, you can explore all available flights using search filters to find the one that suits you best. You have the convenience of booking your flights online.
- Flight management (Admin): As an admin, you have full control over flight management. You can create new flights, view existing flights with search filters, and easily edit or delete flights using the intuitive interface.
- Real-time updates: Any changes made by the admin are instantly reflected on the backend and the database.
- Technology stack: The website is built using the MERN stack (MongoDB, Express, React, Node.js), ensuring a robust and efficient development experience. The database is hosted on the cloud using the MongoDB free plan.
This project was created as part of the Advanced Computer Lab course. While our primary motivation may have been the grades (who doesn't love good grades?), we also had a lot of fun and utilized the opportunity to test our self-learning and programming skills as aspiring computer engineers.
The project is functioning flawlessly without any errors or bugs.
The project is divided into two parts: the client-side (frontend) and the server-side (backend). We have followed the Model-View-Controller (MVC) architecture in the backend, organizing each category of users (Admin, Guest, User) into separate folders within the project structure. On the client-side, components are modularized, with each component representing a specific frontend functionality that maps to the backend.
Login Portal
Signup Portal
Creating a New Flight (exclusive for admins only)
Editing or Deleting an Existing Flight (exclusive for admins only)
Reserving a Flight (Users)
Payment for Reservation (Users)
Updating Personal Information (Users)
View/Cancel/Edit My Reservations (Users)
Edit Reservation (Users)
The Zeyad Tyara Air Travel Agency website is built using the following technologies and frameworks:
- MongoDB
- Express.js
- React.js
- Node.js (MERN Stack)
To install and run the project, follow these steps:
- Install npm:
npm install
- Install the Express module:
npm i express
- Install the CORS module:
npm i cors
- Install the Bcrypt module:
npm i bcrypt
- Install Stripe:
npm i stripe
To integrate with external services, we have used the following API references:
For testing backend functions before integrating them with the frontend, we recommend using the Postman application. You can download it from here. Additionally, you can utilize Chrome Developer Tools for testing and debugging purposes.
The project consists of two parts: the frontend and the backend. Both parts need to be running to experience the full functionality of the flight reservation system.
To run the backend:
- Open the console.
- Change the directory to
Server
:
cd Server
- Start the backend server:
node index
To run the frontend:
- Open a new terminal.
- Change the directory to
Client
:
cd Client
- Start the frontend:
npm start
Your default browser will load the website, and you can navigate through it normally. If you want to log in as an admin, you need to manually enter the route /adminLogin
.
We welcome contributions and feedback from the community. Feel free to share your thoughts and suggestions by sending an email to [email protected]. Together, we can make the Zeyad Tyara Air Travel Agency website even better!