{"id":28315748,"url":"https://github.com/kundan-10/bus_reservation_system","last_synced_at":"2026-04-28T09:35:09.010Z","repository":{"id":276731088,"uuid":"930087061","full_name":"Kundan-10/Bus_Reservation_System","owner":"Kundan-10","description":"The Bus Reservation System Portal is a robust and secure platform designed for seamless bus ticket booking. It features efficient CRUD operations, JWT-based authentication, Spring Security, and role-based access control, ensuring a smooth and secure user experience.","archived":false,"fork":false,"pushed_at":"2025-04-12T09:37:45.000Z","size":138,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-03T13:06:25.873Z","etag":null,"topics":["jwt-authentication","restful-api","springboot","springdatajpa","springsecurity-jwt"],"latest_commit_sha":null,"homepage":"https://github.com/Kundan-10/Bus_Reservation_System","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/Kundan-10.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-10T03:33:25.000Z","updated_at":"2025-04-16T17:04:46.000Z","dependencies_parsed_at":"2025-02-25T04:23:12.693Z","dependency_job_id":"9f34efa4-8bdf-4434-96a6-e57b78b53ec4","html_url":"https://github.com/Kundan-10/Bus_Reservation_System","commit_stats":null,"previous_names":["kundan-10/bus_reservation_system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Kundan-10/Bus_Reservation_System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kundan-10%2FBus_Reservation_System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kundan-10%2FBus_Reservation_System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kundan-10%2FBus_Reservation_System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kundan-10%2FBus_Reservation_System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kundan-10","download_url":"https://codeload.github.com/Kundan-10/Bus_Reservation_System/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kundan-10%2FBus_Reservation_System/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32375611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T09:24:15.638Z","status":"ssl_error","status_checked_at":"2026-04-28T09:24:15.071Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["jwt-authentication","restful-api","springboot","springdatajpa","springsecurity-jwt"],"created_at":"2025-05-25T01:12:26.173Z","updated_at":"2026-04-28T09:35:08.992Z","avatar_url":"https://github.com/Kundan-10.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bus Reservation System Portal REST API\n\u003cimg  src=\"https://images.unsplash.com/photo-1525962898597-a4ae6402826e?w=600\u0026auto=format\u0026fit=crop\u0026q=60\u0026ixlib=rb-4.0.3\u0026ixid=M3wxMjA3fDB8MHxzZWFyY2h8NDd8fGJ1c3xlbnwwfHwwfHx8MA%3D%3D\" width=\"93%\" height=\"420px\" /\u003e\u003cimg align=\"right\"/\u003e\n\nThe Bus Reservation System Portal is a robust and secure platform designed for seamless bus ticket booking. It features efficient CRUD operations, JWT-based authentication, Spring Security, and role-based access control, ensuring a smooth and secure user experience. 🚀\n\n## 🛠 Tech Stack\n\n- **Java 17+**\n- **Spring Boot**\n- **Spring Security (JWT Authentication)**\n- **Spring Data JPA**\n- **Hibernate**\n- **MySQL**\n- **Lombok**\n- **Swagger API Documentation**\n\n## 📌 Main Modules\n\n### 🏷 User Module\n- **User Registration \u0026 Login** (JWT-based authentication)\n- **Search for Available Buses** based on routes and schedules\n- **Book a Ticket** for a selected bus\n- **View Booking History** and manage reservations\n- **Update User Profile**\n- **Provide Feedback** for completed trips\n\n### 👨‍💼 Admin Module\n- **Admin Authentication \u0026 Role-Based Access**\n- **Manage Bus Information** (Add, Update, Delete Bus details)\n- **Manage Routes** (Add, Update, Delete Routes)\n- **View and Manage Users**\n- **Access \u0026 Manage Reservations**\n- **Moderate User Feedback**\n\n### 🚏 Route Module\n- Manage bus routes, including **stops and distances**\n- Assign routes to specific buses\n\n### 🚌 Bus Module\n- Store bus details including **bus type, capacity, operator, and schedule**\n- Assign buses to specific routes\n\n### 🎟 Reservation Module\n- Allow users to **book, cancel, and modify** reservations\n- Track **reservation history and payment status**\n\n### ⭐ Feedback Module\n- Users can **rate and review** their journey experience\n- Admin can **moderate inappropriate reviews**\n\n## 🚀 Advanced Features\n\n### 🔐 Security \u0026 Authentication\n\n- **JWT-based authentication** with role-based access control.\n- **Password encryption** using **BCrypt** for security.\n- **Session management** to prevent unauthorized access.\n\n### 📈 Additional Enhancements\n\n- **Global Exception Handling** for better API stability.\n- **Swagger UI Integration** for interactive API testing.\n\n## 🚀 Installation \u0026 Run\n\n### ⚙ Prerequisites\n\n- Java 17+\n- MySQL Database\n- Maven\n\n### 🔧 Configuration\n\nBefore running the API server, update the database configuration inside the `application.properties` file.\n\n```properties\nserver.port=8888\n\nspring.datasource.url=jdbc:mysql://localhost:3306/ibusdb\nspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver\nspring.datasource.username=root\nspring.datasource.password=root\n\nspring.security.jwt.secret=your_secret_key\nspring.security.jwt.expiration=3600000\n```\n\n### ▶ Running the Application\n\n```sh\n# Clone the repository\ngit clone https://github.com/your-username/BusReservationSystemPortal.git\n\n# Navigate to the project directory\ncd BusReservationSystemPortal\n\n# Build the project\nmvn clean install\n\n# Start the application\nmvn spring-boot:run\n```\n\n## 📄 API Documentation\n### Swagger UI\n\nAPI documentation is available via **Swagger UI**:\n\n- **Swagger UI:** [http://localhost:8888/swagger-ui/index.html](http://localhost:8888/swagger-ui/index.html)\n- **API Root Endpoint:** `http://localhost:8888/`\n\n## 🔗 API Endpoints\n\n### 🔑 Authentication Module (JWT-Based Security)\n\n- `POST /auth/login` - Authenticate and receive JWT token.\n- `POST /auth/register` - Register a new user/ new Admin(Role Based).\n\n**Request:**\n\n```json\n{\n    \"email\": \"Admin@gmail.com\",\n    \"password\": \"Admin@123\"\n}\n```\n\n**Response:**\n\n```json\n{\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCIsdfadfadrte...\",\n}\n```\n\n---\n### User and User Login Controller\n\n---\n![Screenshot (291)](https://user-images.githubusercontent.com/100846744/201393329-4ca0173c-b6fe-46f9-afe0-a977f096687f.png)\n\n\n![Screenshot (292)](https://user-images.githubusercontent.com/100846744/201393274-7d2f08c6-2fbe-47d2-af20-e85f0cc6482b.png)\n\n---\n\n### Admin and Admin Login Controller\n\n---\n![Screenshot (290)](https://user-images.githubusercontent.com/100846744/201393426-bdee2b71-4b89-47c2-b60a-969464088294.png)\n![Screenshot (285)](https://user-images.githubusercontent.com/100846744/201393509-babcc11c-8501-4ad9-b8a7-30a5a67615a9.png)\n\n---\n\n### Bus Controller\n\n---\n\n\n![Screenshot (286)](https://user-images.githubusercontent.com/100846744/201393212-9f8d839e-a6cd-4d9e-aac3-7cd975d04675.png)\n\n---\n\n### Reservation Controller\n\n---\n\n\n![Screenshot (288)](https://user-images.githubusercontent.com/100846744/201393110-68855185-f04d-4bb8-9af1-9f69bb2ecf5d.png)\n\n---\n\n### Route Controller\n\n---\n\n![Screenshot (289)](https://user-images.githubusercontent.com/100846744/201393162-8a30069f-039a-4010-9fe9-3864452545a6.png)\n\n\n---\n\n### Feedback Controller\n\n---\n\n\n![Screenshot (287)](https://user-images.githubusercontent.com/100846744/201393007-95a20ad5-1816-4dc6-8d9c-2ff41c22c450.png)\n\n---\n\n\n\u003cimg  align=\"center\" src=\"https://readme-typing-svg.herokuapp.com?font=Architects+Daughter\u0026amp;color=FF5733\u0026amp;size=20\u0026amp;lines=Thanks!+For+Visiting+On+My+Project!;See+You+Next-Time+Hope+u+like+its...👨🏻‍💻;\" style=\"width: 70%;\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkundan-10%2Fbus_reservation_system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkundan-10%2Fbus_reservation_system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkundan-10%2Fbus_reservation_system/lists"}