The Car-rental Web Application is designed to simplify the vehicle rental process for customers, offering a straightforward interface. Users can browse and reserve vehicles based on location, dates, and specific preferences. The system accommodates customization with options to modify or cancel reservations. Customer Service Representatives manage check-in, check-out, and payment processes, ensuring a smooth experience. System Administrators handle backend operations, including managing vehicles, user accounts, and reservations. Overall, the application prioritizes user-friendly interactions to enhance the efficiency and convenience of renting vehicles.
- Zeiad Badawy (iKozay) - Scrum master/Front-end DEV
- Mohamed Saidi (Mohadgb) - Backend DEV
- Miskat Mahmud (codedsami) - Backend DEV
- Matteo Sansone (MSan35) - Front-end DEV
- Abdel-Rahman Khalifa (AbdelrahmanWM) - Fullstack DEV
The following are the major frameworks we will be using to develop the project:
See Technology Stack in Wiki for more details.
Customer Features:
-
User Registration and Authentication: Allow customers to create accounts and log in securely.
-
Profile Management: Enable users to update personal information and preferences.
-
Vehicle Search and Filtering: Implement an intuitive search interface with filters for type, category, and price range.
-
Reservation Management: View, modify, and cancel reservations easily.
-
Location-based Services: Provide a branch locator using postal codes or airport information.
-
Extra Equipment Add-Ons: During the reservation process, offer additional equipment at an extra cost.
-
Rating and Reviews: Allow customers to provide feedback and ratings for rented vehicles and overall experience.
Customer Service Representative (CSR) Features:
-
Check-in Process: Manage the check-in process for customers with or without reservations.
-
Reservation Confirmation: Confirm reservations, verify customer details, and process payments.
-
Check-out Process: Facilitate the return process, inspect the vehicle, and process final billing.
System Administrator Features:
-
Vehicle Management: CRUD operations for adding, updating, and removing vehicles from the system.
-
User Account Management: CRUD operations for managing user accounts.
-
Reservation Management: CRUD operations for handling reservations efficiently.
Additional Features (To Be Reviewed):
-
User Loyalty Program: Implement a loyalty program to reward customers for repeated business.
-
Addition of second driver: Allow customers to add a second driver to their rental reservation.
Providing step-by-step instructions on how to install and set up the project locally. We need to include any dependencies or prerequisites needed.
Example Of Installation Steps:
Follow these steps to set up and run the project:
- Clone the Repository:
Clone the project repository to your local machine using the following command:
git clone https://github.com/iKozay/RentACar.git
- Change to the Project Directory:
Navigate into the project src directory with the command:
cd RentACar/src
- Install Dependencies:
Install project dependencies using the following command:
npm run install:all
- Run Frontend and Backend servers:
Run the following command in the src directory:
npm run dev
- The following variables are required inside /backend/.env:
- MONGO_DB
- JWT_SECRET
- SESSION_SECRET
- EMAIL_USER
- EMAIL_PASS
Clearly explaining how users can use our web application. We will need to include information on how to navigate the interface, perform actions, and any other relevant usage details.
Please review the Git Rules section on our Wiki page for guidelines on contributions