Skip to content

rishitha0208/stadium-verse-ai

Repository files navigation

StadiumVerse AI

🏟️ StadiumVerse AI

Smart Stadiums & Tournament Operations Platform

Next.js TypeScript Tailwind CSS Firebase Gemini AI License: MIT CI/CD


πŸ† 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


πŸ“Έ Screenshots

🏠 Home Dashboard πŸ“Š Crowd Operations
Home Page Dashboard
🎫 Schedule & Tickets πŸ—ΊοΈ Stadium Map
Schedule Map
πŸ† Fan Engagement Zone πŸš— Smart Parking
Fan Zone Parking

✨ Features

πŸ€– AI Chat Assistant

Powered by Google Gemini API with intelligent simulation fallback. Helps fans find food, navigate gates, book tickets, and report emergencies through natural conversation.

πŸ—ΊοΈ Interactive Stadium Map

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.

πŸ“Š Live Crowd Dashboard

Real-time analytics including gate wait-times, attendance counters, security unit status, and a dynamic SVG area chart for match-day occupancy trends.

🎫 NFC Ticket Hub & Wallet

Virtual wallet with balance management. Buy tickets, select specific seats (with POV preview), and access digital NFC-style entry passes.

πŸš— Smart Parking Locator

Interactive zone grids (Green/Red/Blue) with live spot availability. Click-to-reserve interface with QR parking pass generation.

πŸ” Concessions & Restroom Finder

Live queue wait-times for food stalls. Full ordering cart flow (select β†’ pay β†’ track preparation β†’ collect). WC occupancy + ADA accessibility logs.

πŸ† Fan Engagement Zone

Match-day trivia with points rewarding wallet credits. Live audience voting polls with real-time animated bar charts.

🚨 Emergency SOS Beacon

Floating alert button for medical/security emergencies. Multi-stage dispatch simulator with real-time status log terminal.

β™Ώ Accessibility (WCAG)

Dyslexic-friendly fonts, text zoom (3 levels), high-contrast mode, and click-to-speak TTS engine. Fully keyboard navigable.

🌍 Multi-language Support

Full internationalization with English, Spanish, French, and German translation support via React Context.


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        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          β”‚  β”‚
β”‚                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ CI/CD Workflow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     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     β”‚
                                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

CI/CD Pipeline


πŸ› οΈ Tech Stack

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)

πŸ“‚ Project Structure

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

πŸš€ Getting Started

Prerequisites

  • Node.js v18 or higher
  • npm v9 or higher

1. Clone the Repository

git clone https://github.com/rishitha0208/stadium-verse-ai.git
cd stadium-verse-ai

2. Install Dependencies

npm install

3. Configure Environment Variables

cp .env.example .env.local

Then 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.

4. Run Development Server

npm run dev

Open http://localhost:3000 in your browser.

5. Build for Production

npm run build
npm start

πŸ”‘ Demo Accounts

The app auto-logs in with a demo fan account. You can also use quick-login buttons on the auth page:

Account Email Role
πŸ™‹ Fan Account fan@stadiumverse.ai Standard user
πŸ›‘οΈ Admin Account admin@stadiumverse.ai Full operations access

☁️ Deploy to Vercel

Deploy with Vercel

  1. Click the button above or import the repo in Vercel dashboard.
  2. Add your environment variables in the Vercel project settings.
  3. Deploy β€” done! Vercel auto-detects Next.js configuration.

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'feat: add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.


Built with ❀️ for PromptWars Challenge 4

⭐ Star this repo if you found it useful!

GitHub stars GitHub forks

About

🏟️ StadiumVerse AI β€” Smart Stadiums & Tournament Operations Platform | PromptWars Challenge 4 | Next.js 16 + Gemini AI + Firebase + Glassmorphism UI

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors