A real-time interactive quiz platform inspired by Kahoot, enabling educators to create engaging quiz sessions and students to participate in interactive learning experiences.
-
Quiz Creation & Management
- Create custom quizzes with multiple question types
- Edit and manage quiz content
- Set time limits and scoring rules
-
Real-time Game Sessions
- Host live quiz sessions
- Real-time player participation
- Instant feedback and scoring
- Live leaderboard updates
-
Multiple Views
- Teacher/Admin dashboard for quiz management
- Game host view for controlling sessions
- Player view for quiz participation
- Results view for session outcomes
-
Frontend
- React with TypeScript
- Vite for build tooling
- TailwindCSS for styling
- Shadcn UI components
- Zustand for state management
-
Backend
- Node.js server
- Redis for real-time data handling
- WebSocket for live updates
- Node.js (v16 or higher)
- Redis server
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/kahoot.git
cd kahoot- Install dependencies:
npm install- Configure environment variables:
Create a
.envfile in the root directory with:
REDIS_URL=your_redis_url
PORT=3002- Start the application:
# Start the backend server
npm run server
# In a new terminal, start the frontend development server
npm run devThe application will be available at http://localhost:3000
/teacher- Access the teacher dashboard for creating and managing quizzes/admin- Access the administrative interface/play- Join and participate in quiz games
-
Creating a Quiz
- Log in as a teacher/admin
- Navigate to "Create Quiz"
- Add questions and answers
- Save your quiz
-
Starting a Game
- Select a quiz from your library
- Click "Start Game"
- Share the game code with participants
-
Joining a Game
- Enter the game code
- Input your name
- Wait for the host to start
We welcome contributions! Please see our Contributing Guide for details on how to:
- Set up your development environment
- Submit pull requests
- Report issues
- Follow our coding standards
This project is licensed under the MIT License - see the LICENSE file for details.