Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏟️ Sports Facility & Court Reservation System

A comprehensive full-stack web application for booking sports complexes, managing real-time court schedules, tracking equipment inventories, and generating administrative reports.

Angular TypeScript Spring Boot MySQL Bootstrap


🚀 Key Features

  • Facility & Court Discovery: Advanced search and filtering tools for finding sports facilities by type, city, and real-time availability.
  • Interactive Scheduling: Dynamic calendar view utilizing structured time slots with built-in validation logic to prevent double-booking.
  • Order & Reservation Management: Live status tracking system allowing users and staff to manage, update, or cancel bookings smoothly.
  • Equipment & Inventory Tracking: Catalog management linking specific equipment to customer orders with reactive filtering capabilities.
  • Dynamic PDF Reporting: Direct generation and download of structured reports (occupancy rates and item usages) leveraging pdfMake.
  • Interactive Visuals: Integrated map locations and rich image galleries for an enhanced user experience.

🛠️ Technology Stack

Layer Technologies
Frontend Angular, TypeScript, Bootstrap, pdfMake
Backend Java, Spring Boot, Spring Data JPA / Hibernate
Database MySQL
Architecture RESTful API, Component-driven Modular Design

📋 Project Modules

  1. Authentication & Authorization: Role-based security workflows handling regular users, facility employees, and system administrators.
  2. Reservation Core: Core booking engine managing court slots, filters, and state validations.
  3. Inventory & Orders: Equipment handling and status updates per order line item.
  4. Reports Engine: Data aggregation and export pipeline for administrative PDF summaries.

⚙️ Getting Started

Prerequisites

Make sure you have the following installed on your machine:

  • Node.js & Angular CLI
  • Java JDK (17+) & Maven
  • MySQL Server

1. Database Setup

Create a MySQL database and update your application.properties configuration in the backend:

spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=your_username
spring.datasource.password=your_password

2. Running the Backend

cd backend
mvn spring-boot:run

3. Running the Frontend

cd frontend
npm install
ng serve

About

Full stack web application for managing sport objects

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages