
SportsMania
Full-stack sports venue booking platform — web, NestJS API, and React Native app with OTP auth and real-time slot locking.
Key Features
Robust functionality driving the SportsMania platform for both players and venue owners.
Booking Engine
Concurrent booking engine with slot locking to prevent double-booking.
Multi-Pitch
Multi-pitch venues with per-day operating hours.
Security & RBAC
Dual-role RBAC: Player vs Venue Owner with ownership verification. Twilio OTP authentication and JWT sessions.
Media & Mobile
S3-backed media gallery with upload, reorder, and batch delete. React Native app with cinematic animations and owner management flows.
Overview
SportsMania connects players with bookable sports venues and gives venue owners a complete digital operations hub. Players browse venues by city, compare pitch availability and hourly rates, and book time slots. Owners onboard venues with multiple pitches, set day-specific operating hours, manage image galleries, and handle bookings through a secure role-based system.
The platform spans three deliverables: a Next.js 16 web frontend (App Router, React 19, Tailwind CSS v4), a production NestJS backend with PostgreSQL/Prisma, and a React Native Expo mobile app with glassmorphic UI for both Player and Owner roles.
The backend implements concurrent slot locking, booking lifecycle states (PENDING -> CONFIRMED -> COMPLETED), pricing snapshots, guest bookings, and owner-scoped venue management. The mobile app delivers venue discovery feeds, owner dashboards, gallery upload/reorder, and secure token storage via Expo Secure Store.

Deliverables
Web Frontend
FOUNDATIONNext.js 16, React 19, Tailwind CSS v4, TypeScript
API Backend
SHIPPEDNestJS, PostgreSQL, Prisma, AWS S3, Twilio
Mobile App
SHIPPEDReact Native, Expo Router, NativeWind, Reanimated
Roadmap
Live match dashboard (WebSocket scores & commentary)
Player & team profile pages
Fantasy league auth and state management
