All projects
WebTeam of 5 members — back-end/API· 2023

Bus Station Service

An online bus-ticket booking system — REST API with Spring Boot and real-time seat selection.

Bus Station Service booking home page

About this product

Graduation thesis: a bus-ticket booking system with a customer storefront, an admin area and a REST API built with Spring Boot. Customers search trips by origin/destination & date, pick seats visually and book tickets; admins manage trips, buses, routes, staff, users and orders from a dashboard. The highlight is real-time seat selection over WebSocket — when several people book the same trip they instantly see seats being held/released. I was responsible for the back-end (API). A 5-member team project.

Highlights

  • Booking: search trips by route & date, pick seats, book tickets
  • Real-time seat selection over WebSocket (instant hold/release)
  • Authentication & authorization with Spring Security + JWT
  • Admin: manage trips, buses, routes, staff and orders
  • Sales dashboard
  • API docs with Swagger, DB migrations with Flyway

What I learned

  • Designing a sizable REST API with Spring Boot (trips, seats, tickets, users modules)
  • Handling real-time concurrency with WebSocket when many users pick seats at once
  • Stateless security with JWT & role-based authorization (Spring Security)
  • Database version control with Flyway migrations
  • Deploying the API to the cloud (Railway) and documenting it with Swagger
  • Working in a 5-member team: splitting modules & managing code with Git

Screenshots

Tech used

JavaSpring BootSpring SecurityJWTSpring Data JPAPostgreSQLWebSocketFlywaySwagger