Skill-based campus gaming — 1v1 lobbies, tournaments, live leaderboard, and a virtual credit economy.
Live Demo -> campusarena-nine.vercel.app
CampusArena is a college-exclusive competitive gaming platform. Students challenge each other to skill-based matches, stake virtual campus credits (no real money), and climb the leaderboard — all with a college email.
| 🎮 Lobbies | Create or join 1v1/squad match rooms with a credit bid |
| 🏆 Tournaments | Host and register for single-elimination brackets |
| 📊 Leaderboard | Live rankings sorted by wins, filterable by game |
| 💳 Wallet | Real-time credit balance + full match transaction history |
| 👤 Profile | Edit name, college, view lifetime stats |
A static HTML presentation is included for project review and classroom demos:
- Source file:
docs/index.html
It covers the prototype overview, architecture, tech stack, feature walkthrough, mock individual contribution split, database model, demo flow, and future scope while matching the project's dark purple/cyan gaming UI. Open it directly from docs/index.html or serve the docs/ folder locally for review.
React 19 · Vite · Tailwind CSS · Zustand · Supabase (Auth + PostgreSQL) · Framer Motion · React Hook Form
Architecture: Pure frontend SPA — no custom server. The browser talks directly to Supabase. All data access rules are enforced via Row-Level Security policies on the database.
git clone https://github.com/sps-exe/CampusArena.git
cd CampusArena/client
npm installCreate client/.env.local:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-keynpm run dev
npm run buildprofiles → user info and stats
lobbies → match rooms
lobby_players → users ↔ lobbies
tournaments → tournament events
tournament_participants → users ↔ tournaments
A Supabase trigger auto-creates a profiles row on every new signup.
Import client/ into Vercel, add the two env vars, done. The vercel.json already handles SPA routing.
Contributors: Shaurya Pratap Singh · Aujasya Rajput · Aryan Singh Damara