/Cab-Booking-Application

RouteReady is a leading online cab booking service in India, simplifying the way travelers get around and reach their destinations. As a trusted and comprehensive platform for transportation.

Primary LanguageJava

Online-Cab-Booking-Application (RouteReady)

This application allows customers to view and book available cabs for their desired locations, and it provides administrators with tools to manage cabs, drivers, and bookings.

Project Details

Features

Customer Module

User Registration: Customers can register with the application by providing their personal information and contact details.

Login: Registered customers can log in to their accounts securely using Spring Security.

View Available Cabs: Customers can browse a list of available cabs with details such as cab type, driver information, and current location.

Book a Cab: Customers can book a cab for their desired destination from a specified pickup location. They can choose a cab type and view the estimated fare before confirming the booking.

View Booking History: Customers can access their booking history to see their past trips and their details.

Admin Module

Login: Admins can log in to the system securely using Spring Security.

Cab Management: Admins can manage the list of available cabs, including adding new cabs, updating cab information, and marking cabs as unavailable when needed.

Driver Management: Admins can manage the pool of drivers, including adding new drivers, updating driver information, and marking drivers as unavailable when required.

Booking Management: Admins can view and manage all bookings, including approving or rejecting booking requests and resolving any issues that may arise.

Cab Management Module

Add New Cab: Admins can add new cabs to the system, specifying details such as cab type, registration number, and driver assigned.

Update Cab Information: Admins can modify cab information, such as the current location or availability status.

Remove Cab: Admins can mark cabs as unavailable or remove them from the system when necessary.

Driver Management Module

Add New Driver: Admins can add new drivers to the system, providing driver details and contact information.

Update Driver Information: Admins can edit driver information and update their status (available/unavailable).

Remove Driver: Admins can mark drivers as unavailable or remove them from the system if needed.

Booking Management Module

View Booking Requests: Admins can view all booking requests, including the customer's details, pickup location, and destination.

Approve/Reject Bookings: Admins can approve or reject booking requests based on availability and other factors.

View Booking History: Admins can access the history of all bookings, including details of completed, ongoing, and cancelled trips.

Technologies Used Backend: Java, Spring Boot, Spring Security, JPA

Database: MySQL

Frontend: HTML, CSS, Javascript

Authentication: Spring Security with JWT (JSON Web Tokens)

How to Run the Application

Clone the repository from GitHub.

Set up the database by executing the provided SQL scripts in MySQL.

Configure the database connection properties in the application properties file.

Build and run the Spring Boot application.

Access the application through a web browser and register/login as a customer or admin.

Start using the application, booking cabs, and managing the system as an admin.

Installation & Run

Before running the API server, please follow these steps:

  1. Update the database configuration inside the application.yml file located in your project:
server:
 port: 8088
spring:
 datasource:
   driver-class-name: com.mysql.cj.jdbc.Driver
   password: your_password
   url: jdbc:mysql://localhost/your_database_name
   username: your_username

Future Enhancements Implement real-time tracking of booked cabs for customers.

Integrate a payment gateway for fare transactions.

Develop a mobile application for wider accessibility.

Add a rating and feedback system for customers and drivers.

Contributors

Thank you to the following contributors for their valuable contributions to this project:

Database architecture

image