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
Browse events
GET /events/ — public event listing from the event service.
View seat map
GET /events/event/:id/seats — load availability for an event.
Select (hold)
POST /seats/:seatId/select — lock seat for 5 minutes (auth required).
Pay via Razorpay
POST /seats/:seatId/checkout — create payment order for held seat.
Server confirms
Live seatUpdated (status: booked) after server-side payment verification.
Release (optional)
POST /seats/:seatId/release — cancel hold before paying.
Admins can create events via POST /events/event (JWT + admin role).