← Back to Projects Complete

Field of Dreams Sportsplex

Java 17 Spring Boot Thymeleaf PostgreSQL HTMX Alpine.js Tailwind CSS Stripe SendGrid Chart.js

Overview

A comprehensive web platform for a multi-use athletic facility in Durham, North Carolina. This isn't just a website — it's the complete operations system that runs the business. Four distinct portals serve facility staff, members, independent trainers, and front-desk kiosk operations, handling everything from membership signups to invoice management to lease scheduling.

The Challenge

The facility needed a unified system to manage every aspect of their business: selling memberships with health questionnaires and waivers, tracking member check-ins via QR code, allowing customers to book courts and spaces, managing relationships with trainers who rent space, generating invoices, handling document storage, and giving staff visibility into all of it. Off-the-shelf solutions were either too generic, too expensive, or required stitching together multiple tools.

The Solution

A custom-built platform that brings everything under one roof with four role-based portals:

  • Member Portal — Dashboard, profile management, check-in history, QR code access
  • Tenant Portal — Lease details, document uploads, invoices, support tickets, add-on hour booking
  • Admin Portal — Complete business management with KPI dashboards, analytics, and CSV exports
  • Kiosk — Front-desk check-in system with QR scanning and phone number lookup

Key Features

Membership System

  • 7-step signup wizard: tier selection, personal info, address, emergency contact, referral, PAR-Q health questionnaire, waiver
  • Tiered memberships: Day Pass, Monthly, Annual, Family, Senior, Student
  • Stripe checkout integration with automatic email confirmations
  • QR code generation for member access

Check-In System

  • QR code scanning via camera or physical scanner
  • Phone number lookup fallback
  • Operating hours enforcement (Platinum members get 24/7 access)
  • Single-use pass tracking for day passes and trials
  • Failed check-in audit logging

Space Booking

  • 5-step booking wizard with real-time price calculation
  • Interactive calendar (FullCalendar.js) showing availability
  • Stripe payment processing with email confirmation
  • ICS calendar download for adding to personal calendars
  • 24-hour cancellation policy with automatic refunds
  • Lease schedules and recurring rentals block availability

Invoice Management

  • Manual invoice creation with custom line items
  • Full invoice lifecycle: void, credit note, adjustment, mark as paid
  • Stripe payment link generation for online payment
  • PDF invoice generation with branded layout
  • Automated 7-day payment reminders
  • Overdue notifications with automatic status transitions

Admin Dashboard

  • KPI cards: members, tenants, bookings, tickets, rentals
  • Chart.js visualizations: monthly revenue, status breakdown, aging reports
  • Member management with search, filters, and CSV export
  • Tenant management with tabbed detail view (overview, lease, documents, invoices, participants)
  • Document approval queue
  • Support ticket system with conversation threads and internal comments
  • Lease scheduling and recurring rental request approval

Additional Systems

  • Email system with 6+ automated notification types (booking confirmations, lease reminders, payment reminders, etc.)
  • Document management with cloud storage (DigitalOcean Spaces)
  • Password reset flow with token-based security
  • Rate limiting on login and API endpoints
  • Custom error pages (404, 500, 403, 429)

Technical Highlights

  • 1,635 automated tests ensuring reliability across all features
  • 32 database migrations (Flyway) managing schema evolution
  • 4 role-based portals with distinct layouts and permissions
  • Stripe integration — payments, refunds, payment links, webhooks
  • SendGrid integration — transactional emails with production templates
  • DigitalOcean Spaces — cloud document storage with local filesystem fallback
  • PDF generation — OpenPDF for branded invoice documents
  • Chart.js — admin analytics and visualizations
  • ZXing — QR code generation for member access
  • Security hardened — CSP, HSTS, rate limiting, role-based access control
  • Mobile-responsive — tested at 375px, 768px, and 1024px breakpoints
  • Built in approximately 5 weeks

Screenshots

Field of Dreams Sportsplex - Homepage
Field of Dreams Sportsplex - Admin Dashboard
Field of Dreams Sportsplex - Booking Calendar
Field of Dreams Sportsplex - Invoice Dashboard
View Live Site