- We have developed this RESTful webservice for an Online Cab Booking application, performs all the fundamental CRUD operations of any Online Cab Booking platform with user validation at every step.
- This project is developed by team of 4 Back-end Developers .
- Java
- Spring Framework
- Spring Boot
- Spring Data JPA
- Hibernate
- MySQL
- Login, Logout Module
- Driver Module
- Customer Module
- Admin Module
- TripBooking Module
- Customer, Driver and Admin authentication & validation with usersession's sessionid.
- Admin Features:
- Administrator Role of the entire application
- Only registered admins with valid sessionid 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 sessionid.
- Viewing list of available cabs and booking a trip.
- Only logged in user can access his trip history, profile updation and other features.
*Alka Singh
*Mayank Gupta
*Ashish Gupta
*Prasanna Jadhav
- Before running the API server, you 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=8088
spring.datasource.url=jdbc:mysql://localhost:3306/cabmatedb;
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
https://localhost:8088/
http://localhost:8088/swagger-ui.html
POST /customer/customerlogin
: Logging in customer with valid mobile number & passwordPOST /customer/customer
: register customer by providing valid detailsGET /customer/customer/{sessionid}
: Getting the details of customers through sessionidPUT /customer/update/{sessionid}
: Updates customer details based on sessionidPUT /customer/updatepassword
: Updates customer's password based on the given mobile numberPOST /customer/logout
: Logging out customer based on sessionidDELETE /customer/delete
: Deletes logged in userPOST /customer/verify
: verify by email and otp
POST /admin/registeradmin
: Register a new admin with proper data validationPOST /admin/login
: Admin can login with mobile number and password provided at the time of registationGET /admin/logout
: Logging out admin based on sessionidPOST /driver/register
: Register a new driver with proper data validation and admin sessionPOST /driver/login
: Driver can login with mobile number and password provided at the time of registationGET /admin/listoftripsbycustomer
: Get list of trips of by a customer idGET /admin/listoftrips
: Get list of trips of all the tripsGET /admin/listocustomers
: Get list of all the customersGET /admin/listodrivers
: Get list of all the driversPUT /admin/update/{username}
: Updates admin detaisl by passed user nameDELETE /admin/delete
: Deletes the admin with passed id
POST /driver/register
: Register a new driver with proper data validation and admin sessionPOST /driver/login
: Driver can login with mobile number and password provided at the time of registationPOST /driver/status/{?}
: Changes the status of the driver either Online or OfflineGET /driver/logout
: Logging out driver based on session tokenGET /driver/driverlist
: Gets list of all the driversGET /driver/bestdriver
: Gets the best driver whose rating is over 4.5PUT /driver/update
: Updates the driver details