Quizito is a next-generation quiz platform that leverages Artificial Intelligence to revolutionize how we learn and assess knowledge. It combines real-time multiplayer gaming with adaptive learning and instant AI-generated content.
- Instant Quiz Generation: Generate quizzes from any topic, text, PDF documents, or even audio files using advanced LLMs (DeepSeek, Llama, OpenAI).
- Adaptive Difficulty: The system learns from your performance and adjusts the difficulty in real-time.
- Smart Explanations: detailed AI-generated explanations for every answer.
- Live Host Mode: Host quizzes for hundreds of players simultaneously with low latency.
- Interactive Gameplay: Use power-ups (50/50, Time Freeze, Double Points) to gain an edge.
- Live Leaderboard: Watch rankings change in real-time as players answer.
- Team Mode: Collaborate with friends to compete against other teams.
- Performance Insights: Detailed breakdown of accuracy, speed, and topic mastery.
- Skill Analysis: Identify strong and weak areas with visual charts.
- Host Dashboard: Comprehensive reports on session engagement and class performance.
- Multi-language Support: Fully localized interface (English, Hindi, Odia, Spanish, etc.).
- Accessibility: Designed with WCAG guidelines for inclusive learning.
- Framework: React 18 + Vite
- Styling: TailwindCSS, Framer Motion (Animations)
- State Management: React Context + Hooks
- Real-time: Socket.io-client
- Charts: Recharts, Chart.js
- Runtime: Node.js (v20.x)
- Framework: Express.js
- Database: MongoDB (Mongoose)
- Real-time: Socket.io (WebSockets)
- Caching: Redis (Optional)
- Authentication: JWT, Passport (Google/GitHub OAuth)
- AI Integration: OpenAI SDK, Groq SDK
- Node.js (v18 or higher)
- MongoDB (Local or Atlas URI)
- (Optional) Redis server
-
Clone the repository
git clone https://github.com/Team-TechTonics/Quizito.git cd Quizito -
Backend Setup
cd backend npm installCreate a
.envfile inbackend/:PORT=10000 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_super_secret_key # AI Keys (At least one required for AI features) OPENAI_API_KEY=your_openai_key DEEPSEEK_API_KEY=your_deepseek_key GROQ_API_KEY=your_groq_key # OAuth (Optional) GOOGLE_CLIENT_ID=... GOOGLE_CLIENT_SECRET=...
Start the backend:
npm run dev
-
Frontend Setup
cd ../frontend npm installStart the frontend:
npm run dev
-
Access the App Open
http://localhost:5173in your browser.
Quizito/
├── ai/ # 🧠 AI Microservice (Python)
│ ├── app2.py # AI Quiz Generation Logic
│ ├── setup.py # Environment setup
│ ├── requirements.txt # Python dependencies
│ └── Dockerfile # Containerization for AI service
│
├── backend/ # 🚀 API Server (Node.js/Express)
│ ├── config/ # Environment configuration
│ ├── middleware/ # Auth & Error handling
│ ├── models/ # Mongoose Schemas (User, Quiz, Session)
│ ├── routes/ # REST API Routes
│ ├── services/ # Business Logic & External Integrations
│ │ ├── quizGenerationService.js
│ │ ├── adaptiveDifficultyService.js
│ │ ├── pdfService.js
│ │ └── audioService.js
│ └── server.js # Main Application Entry Point
│
├── frontend/ # ⚛️ Client Application (React + Vite)
│ ├── src/
│ │ ├── components/ # Atomic UI Components
│ │ ├── pages/ # Application Pages (Home, Dashboard, Quiz)
│ │ ├── context/ # React Context (Auth, Theme, Socket)
│ │ ├── hooks/ # Custom React Hooks
│ │ ├── locales/ # i18n Translation Files
│ │ ├── assets/ # Images, Fonts, & Global Styles
│ │ ├── utils/ # Helper Functions
│ │ └── App.jsx # Root Component
│ └── vite.config.js # Vite Configuration
│
├── assets/ # 🎨 Static Project Assets
│ └── banner.png # Project Banner
│
└── README.md # Documentation
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
