โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ โโโโโโโ โโโ โโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโ โ
โ โโโ โโโโโโ โโโโโโ โโโโโ โโโ โโ โโโโโโโโโโโโโโ โโโโโ โ
โ โโโโโ โโโโโโ โโโโโโ โโโโโ โโโโโโโโโโโโโโโโโโโโโ โโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โโโโโโโ โโโโโโโ โโโโโโโโโโโ โโโโโโโโ โโโ โโโโโโโโโโโโโโ โ
โ โ
โ โก Real-Time AI-Powered Quiz Platform โก โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
QuizWhiz is a real-time, serverless quiz platform designed for interactive events and classroom assessments.
Create custom quizzes, manage live sessions, and synchronize game state across hundreds of devices โ
all with AI-powered question generation and zero participant sign-ups.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ 01. โ Problem Statement โ
โ 02. โจ Key Features โ
โ 03. ๐ ๏ธ Tech Stack โ
โ 04. ๐๏ธ System Architecture โ
โ 05. ๐ Project Structure โ
โ 06. ๐ Getting Started โ
โ 07. โ๏ธ Deployment โ
โ 08. ๐ค Contributing โ
โ 09. ๐ฅ Contributors โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ Organizing live quizzes for university clubs, tech events, or large โ
โ gatherings often involves either: โ
โ โ
โ โ Manual scoring โ Slow and error-prone โ
โ โ Enterprise software โ Expensive and complex โ
โ โ
โ QuizWhiz solves this by providing a lightweight, scalable solution โ
โ with real-time state sync and automated scoring โ no participant โ
โ registration required. โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ค AI Quiz Generation โ โ โก Real-Time Sync โ
โ โ โ โ
โ Generate questions via โ โ Game state updates on all โ
โ Google Gemini models โ โ devices via Firestore โ
โ through Genkit instantly. โ โ listeners instantly. โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Server-Side Scoring โ โ ๐จ Cyberpunk UI โ
โ โ โ โ
โ Secure scoring via Cloud โ โ Stunning neon interface โ
โ Functions prevents any โ โ with sharp edges, parallax โ
โ client-side cheating. โ โ effects & animations. โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก๏ธ Admin Dashboard โ โ ๐ Dynamic Leaderboard โ
โ โ โ โ
โ Create quizzes, manage โ โ Real-time ranking of top โ
โ content, and control live โ โ performers updated after โ
โ game flow seamlessly. โ โ every round. โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ฎ Live Session Control โ โ ๐ Secure Access โ
โ โ โ โ
โ Start questions, reveal โ โ Route protection & role- โ
โ answers, and advance โ โ based access control for โ
โ rounds manually. โ โ admin functions. โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 16 (App Router), React 19, TypeScript | UI framework & rendering |
| Styling | Tailwind CSS, Radix UI (Cyberpunk Design System) | Design system & components |
| AI | Google Genkit, Gemini API | AI-powered quiz generation |
| Database | Firebase Firestore (NoSQL) | Real-time data & state sync |
| Functions | Firebase Cloud Functions (Node.js 20) | Server-side scoring logic |
| Auth | Firebase Authentication (Google OAuth) | Admin identity management |
| Hosting | Vercel (Frontend), Google Cloud Platform (Backend) | Deployment infrastructure |
graph TB
subgraph CLIENT ["๐ฅ๏ธ Client Layer"]
A["๐ Admin Client<br/>(Next.js)"]
P["๐ค Participant Clients<br/>(Next.js)"]
end
subgraph FIREBASE ["โ๏ธ Firebase Backend"]
FS["๐๏ธ Firestore<br/>(Real-Time DB)"]
CF["โ๏ธ Cloud Functions<br/>(Server-Side Scoring)"]
FA["๐ Firebase Auth<br/>(Google OAuth)"]
end
subgraph AI ["๐ค AI Layer"]
GK["๐ง Google Genkit"]
GM["๐ Gemini API"]
end
A -->|"1. Update Game State"| FS
FS -->|"2. onSnapshot Sync"| P
P -->|"3. Submit Answer"| CF
CF -->|"4. Validate & Score"| FS
FS -->|"5. Leaderboard Update"| A
A -->|"Generate Quiz"| GK
GK -->|"Prompt"| GM
GM -->|"Questions"| GK
GK -->|"Store"| FS
A -->|"Auth"| FA
style CLIENT fill:#1a1a2e,stroke:#e94560,stroke-width:2px,color:#ffffff
style FIREBASE fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#ffffff
style AI fill:#1a1a2e,stroke:#e94560,stroke-width:2px,color:#ffffff
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ REAL-TIME GAME LOOP โ
โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ LOBBY โโโโโถโ QUESTION โโโโโถโ ANSWER โโโโโถโ LEADERBOARDโ โ
โ โ PHASE โ โ START โ โ SUBMISSION โ โ UPDATE โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ
โ โ โ โ โ โ
โ โผ โผ โผ โผ โ
โ Admin sets Admin updates Participant Scores sorted โ
โ status to question index submits via & displayed โ
โ 'lobby' & start time Cloud Function in real-time โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฆ quizzes/ (Collection)
โฃ ๐ {quizId} (Document)
โ โฃ ๐ title: string
โ โฃ ๐ status: 'draft' | 'lobby' | 'active' | 'ended'
โ โฃ ๐ currentQuestionIndex: number
โ โฃ ๐ questionStartTime: timestamp
โ โ
โ โฃ ๐ฆ questions/ (Subcollection)
โ โ โ ๐ {questionId}
โ โ โฃ ๐ questionText: string
โ โ โฃ ๐ options: string[]
โ โ โฃ ๐ correctOptionIndex: number
โ โ โ ๐ timeLimit: number
โ โ
โ โ ๐ฆ participants/ (Subcollection)
โ โ ๐ {participantId}
โ โฃ ๐ name: string
โ โฃ ๐ totalScore: number
โ โ ๐ answers: Array<{ questionId, selectedOptionIndex, pointsEarned }>
QuizWhiz/
โโโ src/
โ โโโ app/
โ โ โโโ admin/ # ๐ก๏ธ Admin dashboard (protected)
โ โ โโโ join/ # ๐ฎ Participant entry point
โ โ โโโ play/[quizId]/ # โก Live game loop
โ โโโ ai/ # ๐ค Genkit flows & Gemini config
โ โโโ components/ # ๐งฉ Reusable UI components
โ โโโ lib/
โ โโโ firebase-service.ts # ๐ฅ Firestore abstraction layer
โโโ functions/ # โ๏ธ Firebase Cloud Functions
โโโ firestore.rules # ๐ Database security rules
โโโ public/ # ๐ Static assets
โโโ package.json
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
Node.js 18+ โ
โ โ
Firebase Project (Firestore + Auth) โ
โ โ
Google Gemini API Key โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# 1. Clone the repository
git clone https://github.com/prem22k/QuizWhiz.git
cd QuizWhiz
# 2. Install dependencies
npm install
# 3. Configure environment
cp .env.example .env.localCreate a .env.local file:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
GOOGLE_GENAI_API_KEY=your_gemini_api_keynpm run devApp will be available at
http://localhost:3000
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. Connect GitHub repo to Vercel โ
โ 2. Add .env.local vars to Vercel settings โ
โ 3. Deploy ๐ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. Deploy Firestore security rules โ
โ 2. Add production domain to Firebase Auth authorized list โ
โ 3. Deploy Cloud Functions โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ 1. ๐ด Fork the repository โ
โ 2. ๐ฟ Create a feature branch โ
โ git checkout -b feature/amazing-feature โ
โ 3. ๐พ Commit your changes โ
โ git commit -m 'Add amazing feature' โ
โ 4. ๐ค Push to the branch โ
โ git push origin feature/amazing-feature โ
โ 5. ๐ Open a Pull Request โ
โ โ
โ Please ensure all code is properly typed with โ
โ TypeScript and includes relevant error handling. โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MEET THE TEAM โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Lakshya Chitkul Project Lead ยท Core Architecture |
Prem Sai Kota AI Generation ยท Auth ยท Deployment |
Eeshitha Gone UI/UX Design ยท Animations |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ Built with โค๏ธ using Next.js, Firebase & Gemini โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ