This project has been developed as part of our course Object Oriented Design and Development. It serves as our submission to Program 2. Our project based on Ruby on Rails and fulfills all the requirements as specified in the documentation.
The application has three forms of users - customers, admins and superadmins. The customer can rent a car by selecting his preferences and based on the availablilty of that model. The admin and superadmin monitor the renting and returning of cars.
This application has been deployed on Heroku
While reviewing the website, do not delete these default login ID's to test the delete functionality, as this effects other reviews which we receive.
-
Superadmin Login with superadmin credentials (Ex: email: '[email protected]', password: 'super123')
-
Admin Login with admin credentials (Ex: email: '[email protected]', password: 'admin123')
-
Customer Login with customer credentials (Ex: email: '[email protected]', password: 'customer123')
CUSTOMER FUNCTIONALITIES WORK FLOW:
Login functionality:
- Enter username
- Enter password
- Click on Sign-in
The landing page will be the user's profile. There are 4 buttons.
The Edit profile button is available for the user to edit his profile.
Search for a Car:
- Click on Search for a Car button.
- The landing page is the search_cars landing page,where you can search by Location, Manufacturer, Style, etc. The search is case sensitive.
- To view car deatils, click on "Car details" button.
- If the car is available for reservation,click on "Reserve".
Reserve a Car (after searching for it):
- The reserve_car URL is launched, where you can enter the checkout time and return time.
- If the checkout time or return time is invalid, error messages will be thrown accordingly.
- Click on reserve. If the reservation is successful, the same gets reflected in the database and will be displayed to you in the car_reserved view.
View Checkout History:
- Click on my profile button in the above view.
- Click on Checkout History button.
- The checkout_history view opens, the details of the car that your reserved is seen.
Cancel reservation:
- Navigate to "My Profile".
- Click on cancel reservation button.
- The cancellation will be successful. Nagivate to checkout history and verify if the status of your reservation is cancelled.
Suggest Car:
- To suggest a car, click on "Suggest Car" button in my profile.
- Enter location , manufacturer,model,style.
- Click on "create suggestion"
- Thank you for your suggestions will be displayed in the corresponding view.
- An email notification will be sent to the user.
- Login with admin credentials, UNAME:[email protected], PWD: admin123
- Click on "View/manage" suggestions.
- Suggestions view opens where the admin can decide whether or not to accept the suggestion by entering a License Number and rate.
- If suggestion is accepted, verify if the car is available in the list of cars.
ADMIN FUNCTIONALITIES WORKFLOW:
- View/Manage cars Admin can reserve available cars, or edit car details or destroy details
- View/Manage Customers Admin can view/edit/ remove customer records.
- View/Manage admins To add new admins/modify existing ones.
- View/manage rentals To manage and edit existing reservations.
- View/Manage suggestions To accept/reject suggestions made by customer.
- rserve on behalf of customer To make reservations on behalf os the customer.
- Edit your profiles To edit his own profile.
- Siddhant Shah (sshah15)
- Tanay Kothari (tkothar)
- Aishwarya Sundar (asundar)