DS-PracticeCourt

   page       attach   
abstract

DS-PracticeCourt is a distributed web-based platform designed to manage sports facility reservations (such as soccer, tennis, and basketball) and associated services (like lighting, heating, or the possibility of renting equipment).

The project focuses on solving the core challenges of distributed environments, such as data consistency, synchronization, high availability, and concurrency in a multi-node environment.

The system uses a distributed client-server architecture consisting of a Field Node, acting as the Two-Phase Commit (2PC) coordinator, and a Utility Node serving as a participant. A responsive web client provides real-time interaction through WebSockets, ensuring global state transparency for all users.

To ensure a robust and reliable system, several advanced distributed concepts are implemented:

  • Concurrency & Distributed Locking: Exploiting Redis to implement distributed locks, ensuring that a single time slot cannot be double-booked by simultaneous requests.
  • Atomic Transactions (2PC): A Two-Phase Commit protocol coordinates Field and Utility nodes. This ensures that a booking that includes both a field and a service is treated as an atomic unit.
  • Temporary Slot Locking: Selected slots are temporarily reserved with a timeout mechanism, releasing the resource if the user does not confirm the booking.
  • Real-Time Synchronization: Using WebSockets to push instant availability updates to all connected users, maintaining a consistent global state.
outcomes