34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
# Kaboot Development Task List
|
|
|
|
## Core Setup
|
|
- [x] Initialize project structure (React, TypeScript, Vite-like setup)
|
|
- [x] Configure Tailwind CSS via CDN
|
|
- [x] Define global types (Quiz, Question, Player, GameState)
|
|
- [x] Create constant definitions for Kahoot-style colors and shapes
|
|
|
|
## Backend Services (Gemini AI)
|
|
- [x] Setup Google GenAI client
|
|
- [x] Implement `generateQuiz` function with strictly typed JSON schema
|
|
- [x] Error handling for API limits or failures
|
|
|
|
## Game Logic (Hooks)
|
|
- [x] Create `useGame` hook to manage state machine (Landing -> Lobby -> Game -> Podium)
|
|
- [x] Implement "Bot" logic (simulated players joining and answering)
|
|
- [x] Implement Timer logic for questions
|
|
- [x] Implement Scoring system (speed + accuracy)
|
|
|
|
## UI Components
|
|
- [x] **Landing Page**: Topic input and "Generate" button
|
|
- [x] **Lobby**: Display Game PIN and simulated player list
|
|
- [x] **Game Interface**:
|
|
- [x] Question display with countdown
|
|
- [x] Answer buttons (Red/Triangle, Blue/Diamond, etc.)
|
|
- [x] "Host View" vs "Player View" hybrid layout
|
|
- [x] **Scoreboard**: Bar charts showing round results
|
|
- [x] **Podium**: Final winners display with confetti feel
|
|
|
|
## Polish & UX
|
|
- [x] Add animations using Framer Motion (transitions, entrances)
|
|
- [x] Ensure responsive design (Mobile-first)
|
|
- [x] Add sound effects/music toggle (Visual only for this demo)
|
|
- [x] Final code cleanup and type safety checks
|