Skip to content

PrathmeshS-0595/Online-Cab-Booking-System

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

FLYWHEEL CABS - Online Cab Booking Application


We have created REST API for Online Cab Booking Application which can be used by Customers and Drivers to login into their profile, update their details and Book Cabs with option to select cab type and the cab or driver availability.

All this is over looked by the Admin who can access the data in the application.

We have implemented data and user validation at every step, for every user.

It has all the basic facilities that are required by an end user to have a convenient and hassle free Online Cab Booking Experience.


*** Team Members ***


*** Tech Stacks ***

  • Java Core
  • Spring Data JPA
  • Spring web
  • Validation
  • Spring Boot
  • Hibernate
  • MySQL
  • Swagger UI
  • Lombok
  • Postman

Features

This Java based REST API project have featurs like Register, Login, Logout, Update, Booking, canceling or deleting, giving rating Some features describes bellow according to their role .

For Admin

  • Admin can register himself.
  • For doing next admin tasks with database admin should login himself".
  • Assigning any available cab to any driver.
  • Can see all tripdetails of a Customer.
  • Managing everytrip by cabwise means which cab are booked more.
  • Getting data about how many trips are booked per day or for a period of day.
  • Update own details and also logout and delete own data.

For Customer

  • Customer can register himself.
  • For booking any cab or trip he/she should login first".
  • Booktrip / A cab.
  • Cancel a trip / delete a trip data.
  • Viweing own travel history.
  • Can rate drive based on trip exxperience.
  • Can find bestDriver available by rating.
  • Fetching Invoice for total travel details/spends on trip.
  • Updating own tripdetails before a timeperiod.
  • Logout, update details, delete account.

For Driver

  • Driver can register himself.
  • Mantaining how many trips have been made by him/her.
  • updating own data.
  • registering own car and type.

*** Installation and Run ***

  • You can clone this repo and start the serve on localhost
  • Before running the API server, we should update the database config inside the application.properties file.
  • Update the port number, username and password as per your local database config.
   server.port=8888
   spring.datasource.url=jdbc:mysql://localhost:3306/FlyWheeldb
   spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
   spring.datasource.username=**mysql username**
   spring.datasource.password=**mysql password**
   spring.jpa.hibernate.git ddl-auto=update

API / Endpoint

https://localhost:8888/

http://localhost:8888/swagger-ui/


*** ER Diagram ***

  • Customer to tripdetails have One-To-Many and Tripdetails to Customer have Many-To-One relations.
  • Tripdetails to Driver have Many-To-One and Driver to Tripdetails have One-To-Many relations.
  • Cab to Driver and Driver to Cab have One-To-One relation.

flywheel png


*** Swagger UI ***

Login Controller

-Provides login and logout functionality

SwaggerUI


Admin Controller

SwaggerUI


Customer Controller

SwaggerUI


Driver Controller

SwaggerUI


Cab Controller

SwaggerUI


Trip Controller

SwaggerUI


Schema

Admin

admin_schema

Customer

customer_shema

Driver

driver_schema

LoginDTO

loginDto_schema

LoginSession

loginsession_schema

Tripdetails

tripdetails_schema

TripDTO

tripDto_schema

Cab

cab_shema

Invoice

invoice_schema

Releases

No releases published

Packages

No packages published

Languages

  • CSS 62.9%
  • Java 37.1%