Back to explorations

ClubHub

A better way to book your next game.

Gaming venues / Booking systemsFull-stack development & system architectureIndependent product development
ClubHub website: gaming club discovery and seat booking

The challenge

Players need to find a gaming club and reserve a specific seat, while staff manage the same floor plan, prices, and arrivals. Concurrent requests must never assign the same seat to overlapping bookings.

How I approached it

Built a Next.js player app and admin console backed by a modular NestJS API. PostgreSQL exclusion constraints protect seat-time intervals; Redis manages temporary holds and Socket.io delivers availability updates. The floor-plan editor shares geometry between flat and 2.5D views, with undo history and version checks when saving.

What came out of it

A web platform available at clubhub.uz, bringing club discovery, seat selection, bookings, QR check-in, and club administration together. Russian, Uzbek, and English interfaces serve players and staff, with Telegram Mini App access for players.

How the pieces connect

01Next.js / Telegram
02NestJS API
03PostgreSQL / PostGIS
04Redis / Socket.io

Map-based club discovery and live seat availability

Floor-plan editing with shared 2D / 2.5D geometry

Booking conflicts prevented at the database level

QR check-in and role-based club administration

Next destination

Study Ninja