Developed by SpiderWeave Consulting (Team 16)
- Ken C. Vuong - Project Manager
- Nam Vu - Architect / Assistant Project Manager
- Dylan John Hayward - Architect / Business Analyst
- Alek A. Espinosa - Frontend / Lead Developer
- Ivan Oleh Pochynyuk - Backend / API Lead
- Joshua Sajan - Documentation Lead
Canonical GitHub (production pulls on EC2): IPochynyukCoding/CIS-4375-Project
The Badminton Court Reservation System is a web-based platform developed for the Houston Badminton Center (Stafford, Texas). It provides a reliable scheduling workflow that allows customers to view court availability and reserve courts online in real-time, reducing manual coordination and booking conflicts.
- Customer Portal: Account registration, profile management, and waiver signing.
- Court Reservations: Real-time availability calendar, 30-min to 4-hour booking slots (15-min increments), and conflict prevention.
- Memberships: Support for Adult, Junior, and Senior membership tiers.
- Admin Dashboard: Staff tools to manage reservations, check-ins, block courts, and view reporting.
- Payment Integration: Secure checkout flow for bookings and memberships.
This project uses a scalable, three-tier architecture:
- Frontend: HTML5, CSS3, JavaScript (Tab-based dynamic interface).
- Middle Tier / Web Server: Node.js (
server.js) handles serving static files, session routing, and API proxying. - Backend API: Python (Flask) utilizing Waitress (
flask_server.py) for core business logic and routing. - Database & Cloud: Designed for AWS DynamoDB (Production) and MySQL (Development), secured within an AWS VPC and routed via AWS Route 53.
Installation & Setup - See Capstone_Project/docs/CONSOLIDATED_DOCUMENTATION.md for details how to config AWS services.
- Node.js (v14+)
- Python (3.8+)
- MySQL Server (for local development)
- Navigate to the Python backend directory:
cd Capstone_Project/Back-End/(Python) - Install required Python packages (e.g., flask, waitress, python-dotenv) using
pip install requirements.txt. - Create a
backend_access.envfile in this directory with yourSECRET_KEYand database credentials. - Run the server:
python flask_server.py(Runs on port 3001).
- Navigate to the Node backend directory:
cd Capstone_Project/Back-End - Install Node dependencies:
npm install - Create a
.envfile based on.env.example(ensure your Flask proxy URL is set if needed). - Run the server:
node server.js(Runs on port 3000).
- Open your browser and navigate to
http://localhost:3000 - The application will redirect you to the public dashboard.
Project active and monitored.