- Exotic Cab Service Pvt.Ltd-
This application is developed as a part of an Assignment for Web Application Development. It is a REST API for an Online Cab Booking. This API performs all the fundamental CRUD operations of any Online Cab Booking platform with user validation at every step.
- Spring Boot
- Spring Framework
- Spring Data JPA
- MySQL
- Hibernate
- Java
- Swagger UI
- Postman
- Login Module
- Admin Module
- Customer Module
- Driver Management Module
- Cab Management Module
- Booking Management Module
- Customer, Driver and Admin authentication & validation with session uuid having
- Admin Features :-
- Administrator Role of the entire application
- Only registered admins with valid session token can add/update/delete driver or customer from main database
- Admin can access the details of different customers, drivers and trip bookings
- Customer Features :-
- Registering themselves with application, and logging in to get the valid session token
- Viewing list of available cabs and booking a trip
- Only logged in user can access his trip history, profile updation and other features
- Cab Driver Features :-
- Cab Driver can login in the application and update their information using their username and password
- Cab driver can add and update their cab details
- Cab Driver can mark their availability according to the trips status
- Cab Driver can end the trip and application generates a bill for the trip
- Before running the API server, you have to update the database configuration inside the application.properties file
- Update the port number, username and password as per your local database configuration
server.port=8888
spring.datasource.url=jdbc:mysql://localhost:3306/cabdb;
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
https://localhost:8888/
http://localhost:8888/swagger-ui.html
POST /login
: Admin can login with username and password provided at the time of registationPOST /insert/{key}
: Register a new admin with proper data validation and admin sessionPUT /update/{key}
: Updates admin detailsDELETE /delete/{id}
: Deletes the admin with passed idGET /trips/{key}
: Get list of trips of all the tripsGET /tripsByCab/{type}
: Get list of trips by cab typesGET /tripsByDate/{date}
: Get list of trips by dateGET /tripsByCustomer/{id}
: Get list of all the customers trips by customer idGET /tripsByCustomer/{id}/{date}
: Get list of all trips for the day by id and date
POST /save
: Adding new customerPUT /update
: Updates customer detailsDELETE /delete/{id}
: Deletes logged in user on the basis of idGET /customer/{id}
: Getting customer on the basis of idPOST /validateCustome
: Checks valid coustomer
POST /driver
: Register a new driver with proper data validation and admin sessionPUT /driver
: Updates the driver detailsDELETE /driver/{driverId}
: Deletes driver on the basis of idGET /drivers
: Gets the best driver whose rating is over 4.5GET /driver/{id}
: Get driver details by idGET /listOfDrivers/{id}
: Gets list of all the drivers
POST /cab
: Register a new cabPUT /cab
: Updates the cab detailsDELETE /cab/{cId}
: Delete cab on the basis of cab idGET /cabs/{carType}
: Gets the list of cabs on the basis of cab typeGET /countofcabs/{carType}
: Gets the total number of cabs on the basis of cab type