π Built for PromptWars Challenge 4 β Smart Stadiums & Tournament Operations
StadiumVerse AI is a production-ready, full-stack web application that transforms how fans and operators interact with live sports venues. Featuring an AI-powered virtual assistant, interactive stadium maps, real-time crowd dashboards, digital ticket wallets, and emergency SOS systems β all wrapped in a stunning glassmorphic dark UI.
π Live Demo Β· π Documentation Β· π Report Bug Β· β¨ Request Feature
| π Home Dashboard | π Crowd Operations |
|---|---|
| π« Schedule & Tickets | πΊοΈ Stadium Map |
|---|---|
| π Fan Engagement Zone | π Smart Parking |
|---|---|
|
Powered by Google Gemini API with intelligent simulation fallback. Helps fans find food, navigate gates, book tickets, and report emergencies through natural conversation. Custom SVG vector map of all 16 sectors (A1βD4), entrance gates, and amenity hotspots. Real-time color-coded occupancy overlays with zoom/pan controls. Real-time analytics including gate wait-times, attendance counters, security unit status, and a dynamic SVG area chart for match-day occupancy trends. Virtual wallet with balance management. Buy tickets, select specific seats (with POV preview), and access digital NFC-style entry passes. |
Interactive zone grids (Green/Red/Blue) with live spot availability. Click-to-reserve interface with QR parking pass generation. Live queue wait-times for food stalls. Full ordering cart flow (select β pay β track preparation β collect). WC occupancy + ADA accessibility logs. Match-day trivia with points rewarding wallet credits. Live audience voting polls with real-time animated bar charts. Floating alert button for medical/security emergencies. Multi-stage dispatch simulator with real-time status log terminal. Dyslexic-friendly fonts, text zoom (3 levels), high-contrast mode, and click-to-speak TTS engine. Fully keyboard navigable. Full internationalization with English, Spanish, French, and German translation support via React Context. |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β StadiumVerse AI β
β β
β ββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββββββββ β
β β Next.js β β React Contexts β β API Routes β β
β β App Routerβ β β Auth / Theme / β β β /api/chat (Gemini) β β
β β (16 SSG) β β Language / State β β POST ββΊ Gemini API β β
β ββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββββββββ β
β β β β
β ββββββββΌβββββββ ββββββββββββββββββββ βββββββββΌββββββββββββββββ β
β β Components β β lib/ β β Firebase β β
β β Navbar β β firebase.ts β β Auth (simulation β β
β β Footer β β gemini.ts β β fallback if no key) β β
β β StadiumMap β ββββββββββββββββββββ βββββββββββββββββββββββββ β
β β AIChatBot β β
β β SOSButton β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Accessibilityβ β Tailwind CSS v4 (Glassmorphism) β β
β βββββββββββββββ β Dark / Light / High-Contrast Themes β β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββ push/PR βββββββββββββββββββββββββββββββββββ
β Developer β ββββββββββββββββΊ β GitHub Actions CI β
β (Local) β β β
ββββββββββββββββ β 1. β
Checkout Code β
β 2. π¦ Setup Node.js 20.x β
β 3. π Install Dependencies β
β 4. π Run ESLint β
β 5. π· TypeScript Check β
β 6. ποΈ Build (next build) β
β 7. π Report Success β
ββββββββββββββββ¬βββββββββββββββββββ
β on: main branch
ββββββββββββββββΌβββββββββββββββββββ
β Vercel Deploy β
β Auto-deploys on push to main β
β Preview deployments on PRs β
βββββββββββββββββββββββββββββββββββ
| Category | Technology |
|---|---|
| Framework | Next.js 16 (App Router, TypeScript) |
| Styling | Tailwind CSS v4, Custom Glassmorphism Variables |
| Icons | Lucide React |
| AI / LLM | Google Gemini API (@google/generative-ai) |
| Auth & DB | Firebase Authentication + Firestore (+ Simulation Mode) |
| Deployment | Vercel (auto-configured) |
| CI/CD | GitHub Actions |
| Accessibility | WCAG 2.1 AA β High Contrast, TTS, Dyslexic Font |
| i18n | Custom React Context (EN / ES / FR / DE) |
stadium-verse-ai/
βββ .github/
β βββ workflows/
β βββ ci.yml # GitHub Actions CI/CD Pipeline
βββ src/
β βββ app/
β β βββ api/chat/route.ts # Gemini Chat API endpoint
β β βββ auth/page.tsx # Login & Quick Demo accounts
β β βββ dashboard/page.tsx # Live crowd heatmap & analytics
β β βββ schedule/page.tsx # Matches, Tickets & POV Simulator
β β βββ parking/page.tsx # Parking zone grid & reservations
β β βββ amenities/page.tsx # Food ordering & restroom finder
β β βββ fan-zone/page.tsx # Trivia games & audience polls
β β βββ admin/page.tsx # Operations control room (Admin only)
β β βββ settings/page.tsx # Wallet, theme & language settings
β β βββ about/page.tsx # Project info & feature overview
β β βββ contact/page.tsx # FAQ & support ticket form
β β βββ globals.css # Theme variables & glassmorphism
β β βββ layout.tsx # Root layout with context providers
β β βββ page.tsx # Home β live scores, widgets & maps
β βββ components/
β β βββ Navbar.tsx # Responsive nav + wallet + language
β β βββ Footer.tsx # Live ops status widget
β β βββ AccessibilityToolbar.tsx# Font, zoom, contrast & TTS engine
β β βββ SOSButton.tsx # Floating emergency dispatch beacon
β β βββ StadiumMap.tsx # Interactive SVG arena map
β β βββ AIChatBot.tsx # Floating AI chat assistant
β βββ context/
β β βββ AuthContext.tsx # Auth state + wallet + tickets
β β βββ ThemeContext.tsx # Dark / Light / High-Contrast themes
β β βββ LanguageContext.tsx # i18n translations (EN/ES/FR/DE)
β βββ lib/
β βββ firebase.ts # Firebase SDK initializer
β βββ gemini.ts # Gemini AI helper + simulator
βββ public/ # Static assets
βββ .env.example # Environment variables template
βββ next.config.ts # Next.js configuration
βββ tailwind.config.ts # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ README.md # This file
- Node.js v18 or higher
- npm v9 or higher
git clone https://github.com/rishitha0208/stadium-verse-ai.git
cd stadium-verse-ainpm installcp .env.example .env.localThen edit .env.local with your credentials:
# Google Gemini API (optional β app runs in simulation mode without it)
GEMINI_API_KEY=your_gemini_api_key_here
# Firebase (optional β app runs in simulation mode without it)
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_idβΉοΈ Note: The app runs fully in Simulation Mode without any API keys. All features are interactive and functional without external services.
npm run devOpen http://localhost:3000 in your browser.
npm run build
npm startThe app auto-logs in with a demo fan account. You can also use quick-login buttons on the auth page:
| Account | Role | |
|---|---|---|
| π Fan Account | fan@stadiumverse.ai |
Standard user |
| π‘οΈ Admin Account | admin@stadiumverse.ai |
Full operations access |
- Click the button above or import the repo in Vercel dashboard.
- Add your environment variables in the Vercel project settings.
- Deploy β done! Vercel auto-detects Next.js configuration.
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'feat: add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License β see the LICENSE file for details.