Full-Stack / Real-Time Systems
Cricket Player Booking Platform
Full-stack, real-time booking across players, ground managers, and owners.
Problem
A multi-role booking platform where players, non-players, ground managers, and owners each need a different view of the same underlying data — ground availability, booking status, and notifications — with updates that need to reach the right people in real time rather than on a page refresh.
Architecture
REST endpoints handle standard CRUD (creating bookings, managing ground listings); Socket.io handles the real-time slice — booking-status changes and notifications pushed to connected clients without polling.
Hover or tab through a node to see what it does.
What it does
- Role-based access for players, non-players, ground managers, and owners
- Ground availability and booking-status workflows
- Real-time updates and notifications via Socket.io
- MongoDB Atlas as the persistence layer for a document-shaped domain (players, grounds, bookings)
Engineering decisions
Socket.io alongside REST rather than polling
Booking status and availability change asynchronously and need to reach other connected users immediately — a natural fit for a push-based real-time layer rather than clients repeatedly polling the API.
MongoDB for the data layer
The domain (players, grounds, bookings, notifications) is document-shaped and doesn't need relational joins across the core entities, so a document database kept the model simpler.
Scope note
This project demonstrates full-stack and real-time application design. It is not deployed for real ground bookings, and no user or booking volume figures are claimed.