Back to selected work

Distributed systems

Scalable Event Booking Platform

A ticketing system designed for the moment everyone clicks at once.

JavaSpring BootAngularMySQLRedisDockerNginxJMeter
Conceptual illustration of the project approach, not a product screenshot.

The problem

Ticket booking brings several challenges together: concurrent demand, limited inventory, and checkouts that may be retried. The platform explores how to coordinate admission, reservations, and payment-flow state under load.

Features

  • JWT authentication and role-based access control
  • Expiring inventory holds and idempotent checkout
  • Redis queueing and caching

My contribution

Developed a microservices-based event-ticketing platform, from authentication and inventory holds to checkout and load testing.

The approach

01

Control admission

Redis-based queueing and caching manage access to the booking flow. JWT authentication and role-based access control separate user permissions.

02

Protect the reservation

Concurrent reservations use expiring inventory holds. Idempotent checkout handles repeated requests, with MySQL providing persistence.

03

Test the complete flow

Containerized the platform with Docker and load-tested it with JMeter, measuring throughput, errors, and checkout completion under concurrent demand.

The outcome

1,000
Concurrent test users
125.7
HTTP requests per second
0%
Errors in the load test

The repository’s latest documented run completed checkout for all 1,000 buyers with 13,986 HTTP requests and no HTTP errors. This was a single-host, single-ticket-service test; p95 latency was 4.72 seconds. Inventory matched confirmed orders, and no buyer exceeded the four-ticket limit. These results describe the local test, not production capacity.

Next exploration

Finding a way forward.