Resolution Rally is Azim Premji University’s Policy Debate Tournament, held on September 26 & 27, 2025. This project includes both admin tools for managing matches and participant-facing dashboards for viewing fixtures, brackets, and results.
Resolution Rally is designed to host a modern, competitive debate tournament with unique rules:
- Each team has 3 members:
- Round 1: 2 speakers (The Case / Ideology)
- Round 2: 1 Policy speaker (Evidence / Proposal)
- Round 3: Cross-examination ("The Gavel")
- Teams compete through Quarterfinals, Semifinals, and Finals.
- The platform provides:
- Admin dashboard to generate and manage matches & rounds.
- Participant/public dashboard to view fixtures, brackets, and scores.
- Create Match 1, Quarterfinals, Semifinals, and Finals automatically based on team scores.
- Fetch and manage team members and participants.
- Create rounds with scoring criteria per participant and team.
- Fully synced with Firebase Firestore.
- Mobile-first, minimalist UI inspired by NLS Debate websites.
- Fixtures page showing upcoming and completed matches.
- Playoff brackets with live scores.
- Quick links and schedule for participants.
- Real-time updates from Firebase.
- Frontend: Next.js 13 (App Router, React 18)
- Backend / Database: Firebase Firestore
- Hosting / Deployment: Vercel
- Styling: Tailwind CSS
- Optional UI Components: Shadcn/UI (for buttons, cards, etc.)
- Version Control: Git & GitHub
Resolution-Rally/
│
├─ app/
│ ├─ api/ # Firebase API routes & helper functions
│ ├─ matches/ # Match generation & round management
│ ├─ fixtures/ # Public-facing fixture pages
│ ├─ playoffs/ # Bracket visualization
│ └─ page.js # Participant homepage / dashboard
│
├─ components/ # Reusable UI components
│ └─ ui/
│ └─ button.js
│
├─ firebaseConfig.js # Firebase setup
├─ package.json
├─ tailwind.config.js
└─ README.md