{"id":21360134,"url":"https://github.com/iamsatyamyadav/cab-booking-application-api","last_synced_at":"2025-06-24T08:02:18.038Z","repository":{"id":80479415,"uuid":"604137168","full_name":"iamsatyamyadav/Cab-Booking-Application-API","owner":"iamsatyamyadav","description":"This project is an online cab booking system, designed to make it easier for customers to book a cab, as well as for drivers to manage their trips.","archived":false,"fork":false,"pushed_at":"2023-09-25T10:42:11.000Z","size":504,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-24T08:02:15.782Z","etag":null,"topics":["java","jpa-hibernate","maven","mysql-database","spring","spring-boot","swagger-ui"],"latest_commit_sha":null,"homepage":"https://drive.google.com/drive/folders/1OQSXckoWt7YmyqbicFcflZp_aDmUl5Ys?usp=share_link","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamsatyamyadav.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-02-20T12:14:30.000Z","updated_at":"2025-04-16T03:57:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8db97c8-6693-49f6-9b57-eba7eadfb90b","html_url":"https://github.com/iamsatyamyadav/Cab-Booking-Application-API","commit_stats":null,"previous_names":["iamsatyamyadav/cab-booking-appcation-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iamsatyamyadav/Cab-Booking-Application-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamsatyamyadav%2FCab-Booking-Application-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamsatyamyadav%2FCab-Booking-Application-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamsatyamyadav%2FCab-Booking-Application-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamsatyamyadav%2FCab-Booking-Application-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamsatyamyadav","download_url":"https://codeload.github.com/iamsatyamyadav/Cab-Booking-Application-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamsatyamyadav%2FCab-Booking-Application-API/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261632034,"owners_count":23187268,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jpa-hibernate","maven","mysql-database","spring","spring-boot","swagger-ui"],"created_at":"2024-11-22T05:32:40.528Z","updated_at":"2025-06-24T08:02:17.996Z","avatar_url":"https://github.com/iamsatyamyadav.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cdiv align=\"center\"\u003e Cab-Booking-Application-API (CabWalla) \u003c/div\u003e\n This application is a REST API for an Online Cab Booking Management System.Using this web service a customer can book a trip, an admin can assign a driver to a particular trip, and a driver can complete the trip. All these CRUD operations require validation on each step.\n\n# \u003cdiv align=\"center\"\u003e 💻 Tech Stack \u003c/div\u003e\n\n![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge\u0026logo=java\u0026logoColor=white) \n![SpringBoot](https://img.shields.io/badge/Spring_Boot-F2F4F9?style=for-the-badge\u0026logo=spring-boot)\n![Spring](https://img.shields.io/badge/spring-%236DB33F.svg?style=for-the-badge\u0026logo=spring\u0026logoColor=white) \n![Apache Maven](https://img.shields.io/badge/Apache%20Maven-C71A36?style=for-the-badge\u0026logo=Apache%20Maven\u0026logoColor=white) \n![Spring-security](https://img.shields.io/badge/Spring_Security-6DB33F?style=for-the-badge\u0026logo=Spring-Security\u0026logoColor=white)\n![Postman](https://img.shields.io/badge/Postman-FF6C37?style=for-the-badge\u0026logo=postman\u0026logoColor=white)\n![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge\u0026logo=mysql\u0026logoColor=white) \n\n### Modules\n- Login Module\n-\tAdmin Module\n-\tCustomer Module\n-\tDriver Module\n-\tTrip Booking Module\n\n### Functionalities\n- Common Functionalities :- Login, Logout and registration to the system.\n* Admin Functionalities :-\n    * Administrator Role of the entire application\n    * Only registered admins with valid session token can add/update/delete driver or customer from main database\n    * Admin can access the details of different customers, drivers and trip bookings\n    * Admin can assign a driver to a particular trip.\n* Customer Functionalities :-\n    * Registering themselves with application, and logging in to get the valid session token\n    * Book a trip.\n    * Access his trip history, profile updation, update trip details.\n    * Rate a driver.    \n* Driver Functionalities :-\n    * Driver can login, update his profile.\n    * Driver can update their cab details\n    * Check trips assigned to him.\n    * Can generate a bill.\n\n##   ER_Diagram                                            \n![Book Cab ER Diagram](https://user-images.githubusercontent.com/105484277/208635652-24755177-0a30-4601-9eb4-e934d45f2b8d.png)\n\n### Installation \u0026 Run\n- Before running the API server, you have to update the database configuration inside the application.properties file\n- Update the port number, username and password as per your local database configuration\n````\n    server.port=8087\n\n    spring.datasource.url=jdbc:mysql://localhost:3306/cabwayDB;\n    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver\n    spring.datasource.username=root\n    spring.datasource.password=root\n    \n````\n## API Module Endpoints\n\n### Admin Module\n\n* POST /admins :- Register admin\n\n* `PUT /admins :- Update admin details.\n\n* PUT /admins/tripbooking/bill/{cid} :- Generate a bill for a trip.\n\n* PUT /admin/updateTripBooking/{userId} :- Update trip status to completed or cancelled.\n\n* GET /admins/viewCabByType/{carType} :- View cabs of particular type.\n\n* GET /admins/tripbookings/datewise/{date} :- View all trips for a particular day.\n\n* GET /admins/tripbookings/datewise/{cid}/{sdate}/{edate} :- Check all trips for a particular date range.\n\n* GET /admins/driver/{driverId} :- Check a driver with driver id.\n\n* GET /admins/customers :- Check all customers in the database.\n\n* GET /admins/customers/tripbookings :- Check all trips.\n\n* GET /admins/customer/{cid} :- Check a particular customer\n\n* GET /admins/customer/tripbookings/{cid} :- Check all trips of a particular customer.\n\n* GET /admins/countCabsOfType/{carType} :- Count cabs of a particular type.\n\n* GET /admins/bestdrivers :- Check drivers with rating over 4.5.\n\n* DELETE /admins/{aid} :- Delete an admin.\n\n* DELETE /admins/deletetripBooking/{tbid}/{uid} :- Delete trip if status is completed or cancelled.\n\n* DELETE /admins/deleteDriver/{driverId} :- Delete a driver from the system.\n\n\n### Customer Module\n\n* POST /customer :- Register a customer.\n\n* PUT /updateCustomer :- Update customer details.\n\n* POST /customers/tripBook/{cid} :- Book a trip.\n\n* PUT /customer/updateTripBooking/{userId} :- Update trip booking details.\n\n* PUT /customer/ratedriver :- Rate a driver.\n\n* GET /validateCustomer :- Validate himself.\n\n* GET /customers/{customerId} :- Get his details\n\n* GET /customer/tripbookings/{cid} :- Get trips history.\n\n* DELETE /deleteCustomer/{customerId} :- Delete his account.\n\n\n### Driver Module\n\n* POST /driver :- Register a driver.\n\n* PUT /updateDriver :- Update his details.\n\n* PUT /drivers/updateCab :- Update cab details.\n\n* PUT /driver/updateTripBooking/{userId} :- Mark trip as completed or cancelled.\n\n* PUT /driver/tripbooking/bill/{customerid} :- Generate bill.\n\n* GET /driver/{driverId} :- Get his details.\n\n* DELETE /deleteDriver/{driverId} :- Delete his account.\n\n### Login Module\n\n* `POST /login :- Login to the system, get uuid.\n\n* DELETE /logout :- Logout of the system.\n\n  ## API Root Endpoint\n\n`https://localhost:8081/`\n\n`http://localhost:8081/swagger-ui/index.html#/`\n\n\n\n\n# Features \u0026 Controller\n## Driver-Controller\n![image](https://user-images.githubusercontent.com/103804433/221413489-1fd2861c-a5cb-4637-9a33-f4a390395e95.png)\n\n## Customer-Controller\n\n![image](https://user-images.githubusercontent.com/103804433/221413514-514deac0-959d-48f7-8153-7394b3bbe4dc.png)\n\n\n## Admin-Controller\n![image](https://user-images.githubusercontent.com/103804433/221413530-a8e99dc6-0e96-454b-931f-ee09b9ee4f89.png)\n\n## Login-Logout-Controller\n![image](https://user-images.githubusercontent.com/103804433/221413540-46a40d1f-428e-46f8-abac-483dc1f3790a.png)\n\n\n#### For any feedback, report, suggestions, you can contact with anyone of the team members.\n### THANK YOU\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamsatyamyadav%2Fcab-booking-application-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamsatyamyadav%2Fcab-booking-application-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamsatyamyadav%2Fcab-booking-application-api/lists"}