A full-stack quiz management system built with Flask (backend), Vue 3 + Vite (frontend), Celery (task queue), and Redis (cache & broker).
- User registration and login
- Admin dashboard for managing subjects, chapters, quizzes, and questions
- Quiz attempt and scoring
- Real-time updates with Celery and Redis
-
Python 3.8+
-
Node.js & npm
-
Redis server (will be started automatically)
-
Celery (will be started automatically)
-
All Python and Node dependencies installed (
pip install -r requirements.txtandnpm installinfrontend) -
Create a
.envfile in thebackenddirectory with the following environment variables:GEMINI_API_KEY=your_gemini_api_key_here EMAIL_PASSWORD=your_email_password_here EMAIL_ID=your_email_id_here
-
Install dependencies:
- Python:
pip install -r requirements.txt
- Node.js:
cd frontend npm install cd ..
- Python:
-
Run the project:
python3 run.py
This will:
- Start Redis server
- Start Celery worker and beat
- Start the Vue frontend dev server
- Start the Flask backend
-
Access the app:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8001
- Email:
admin@quiz.com - Password:
admin123
Note:
If you do not have Redis or Celery installed, please install them