Skip to content

Racket Arena: A smart booking platform with conflict detection, dynamic time slots, and multi-user management panels.

Notifications You must be signed in to change notification settings

udini16/Racket_Arena

Repository files navigation

Racket Arena - Sports Court Booking System 🏸

A robust web-based application designed to streamline the management of sports court reservations. This system features separate portals for customers and staff, real-time availability checking, and an efficient workflow for assigning courts to booking requests.

🚀 Key Features

👤 Customer Portal

Smart Booking Interface: Interactive form to select date, start time, and duration.

Real-Time Availability: The system automatically disables time slots that are fully booked across all courts to prevent double-booking.

Booking History: Customers can track the status of their requests (Pending, Confirmed, Cancelled).

Automated Cost Calculation: Estimates pricing based on booking duration.

👔 Staff/Employee Dashboard

Request Management: View incoming booking requests in a unified table.

Court Assignment: Assign specific courts to confirmed bookings.

Status Control: Approve, Reject, or Mark bookings as Complete.

Conflict Detection: Visual indicators prevent assigning a court that is already occupied during a specific time slot.

Dashboard Stats: Quick overview of daily activity (placeholders implemented).

⚙️ Backend Logic (Laravel)

Robust Validation: Prevents overlapping bookings at the database level.

Timezone Handling: Ensures consistent scheduling regardless of user local time (UTC handling).

API-First Design: Backend serves JSON data to the frontend via RESTful API endpoints.

🛠️ Tech Stack

Backend: Laravel 10+, PHP 8.1+

Frontend: Blade Templates, Vanilla JavaScript (Fetch API), Tailwind CSS

Database: MySQL

Icons: FontAwesome

📦 Installation

Clone the repository

git clone https://github.com/yourusername/racket-arena.git

Install Dependencies

composer install npm install

Environment Setup

cp .env.example .env php artisan key:generate

Database Migration

php artisan migrate --seed

Run the Server

php artisan serve

📝 Usage

Customer: Register/Login to view available slots and submit a booking request.

Staff: Login to the staff panel to view requests. Use the "Assign" button to allocate a court to a pending request.

🤝 Contributing

Contributions, issues, and feature requests are welcome!

📄 License

MIT

About

Racket Arena: A smart booking platform with conflict detection, dynamic time slots, and multi-user management panels.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published