- Homepage
- Login/Sign Up
- Request a Ride
- Settings
- Ride History
- End ride
- Rate and review
- Log out
-
Log in a. Login for an existing user. b. Provide your email and password for logging into the database. c. If the entered data is correct and present in the database, you will be redirected to the request ride page; else, you will get an error message.
-
Sign up a. Sign up for a new user. b. Provide a unique email, phone number, and other details like first name, last name, and password to create a new account. c. A new user is redirected to the request ride page if a unique email and phone number are entered. Else, the user will get an error message.
- The user must enter the pickup location, destination address, and preferred ride type.
- The database will select a ride per the user’s needs and an available driver from the database who can fulfil the driver’s request.
- When the user clicks on the request ride button, they are redirected to the end ride page, where the ride is started, and the user can end the ride at their convenience.
- The user can also view the ride history, go to settings and log out of their account through the buttons provided in the navigation bar of this page.
- Users can change their email, password and phone number using the settings page. This also involves triggers so that when users change their email address and phone number, their ride history is automatically deleted.
- This page shows the user's ride history through the rides booked through this app.
- It shows various details like the vehicle number, pickup and drop-off date, time and location, driver email, fare, distance, ride status and the rating given by the user.
- This page provides the user with an option to end their current ride. Since it is not possible for us to arrange a physical ride, we have implemented this button where the user can end the ride when they press this button.
- Provides the user with an option to rate their driver.
- The ratings are stored in the row of the corresponding driver, and the average of all the ratings over rated trips is taken to calculate the final rating of the driver.
- The user also has the option to visit the request ride page if they do not want to rate their ride.
- Clone the repository.
- Run cababa-schema.sql
- Run cababa-data.sql (run everything except the lines that insert into the rides and vehicle table)
- Run vehicle data.sql
- Run rides data.sql
- Run cababa-queries.sql (the ones without the constraint demonstration comment)
- Run cababa-triggers.sql
- Navigate to the website folder
- Change the password in line 5 of app.py to your MySQL password
mydb=mc.connect(host="localhost",user="root",passwd="your-password-here",database="cababa")
- Run app.py
- Go to localhost:5000 to use the website.