- Java
- Spring Boot
- H2 database
This project is an Uber-like application that allows users to request transportation services similar to Uber. The goal is to simplify the transportation process, reduce interaction with the driver, and ensure faster, more consistent, and safer transportation for users. The application caters to four types of users:
-
Unregistered Users - They can view basic information about the application and enter their pickup and drop-off locations to get estimated time and cost for transportation.
-
Registered Users - They can request rides, receive real-time notifications about the status of their ride, track vehicles on the map, rate drivers and vehicles after the ride, and access their ride history. They can also schedule future rides to prioritize assignment during peak hours. Additionally, users can define favorite routes for quick selection and use the PANIC button during a ride to alert the dispatcher of any issues. They can also update their profile information and contact support for assistance.
-
Drivers - They are automatically assigned rides by the system and receive pickup and drop-off locations. They can edit their profile, view their ride history, generate ride reports, and access the PANIC button. Drivers can manually switch their availability status and will be marked as unavailable if they exceed 8 working hours in a day.
-
Administrators - They can create driver accounts, view information and ride status of any driver, access driver history and generate reports. Administrators can block users and drivers, respond to PANIC notifications, and provide 24/7 live chat support.
- Clone the repository
- Navigate to the project directory
- Install the necessary dependencies:
mvn install
- Run the application:
mvn spring-boot:run
- The backend server should now be running on
http://localhost:8080
.
Note: Please ensure that you have Java and Maven installed on your system before running the application.