Advanced Seat Booking Platform

Book seats in real time

A frontend built for your Node.js microservices stack — auth, events, booking, and gateway — with live seat maps and secure JWT flows.

Backend capabilities

Every major API surface from your services is reflected in this UI.

JWT Authentication

Register and login via the auth microservice. Protected routes use Bearer tokens with user and admin roles.

Microservices Gateway

All REST traffic flows through the API gateway — auth, events, and booking services on dedicated paths.

Distributed Seat Locks

Select a seat for a 5-minute hold with Redis-backed locking, then confirm or release before it expires.

Live WebSocket Updates

Socket.io on the booking service broadcasts seat status changes to everyone viewing the same event.

Race-Safe Booking

Concurrent booking attempts resolve cleanly — only one user wins when multiple people target the same seat.

Booking flow

1

Browse events

GET /events/ — public event listing from the event service.

2

View seat map

GET /events/event/:id/seats — load availability for an event.

3

Select (hold)

POST /seats/:seatId/select — lock seat for 5 minutes (auth required).

4

Pay via Razorpay

POST /seats/:seatId/checkout — create payment order for held seat.

5

Server confirms

Live seatUpdated (status: booked) after server-side payment verification.

6

Release (optional)

POST /seats/:seatId/release — cancel hold before paying.

Admins can create events via POST /events/event (JWT + admin role).