Overview
ClassQuiz is an open-source quiz app designed for interactive learning among students. It allows teachers to create quizzes and enables students to compete with their knowledge remotely. The app is aimed at educational purposes and offers a hosted version at classquiz.de. It is built with FastAPI and SvelteKit as the backend and frontend frameworks respectively. The repository is licensed under the Mozilla Public License 2.0, which requires any changes made to be published.
Features
- Open-source: ClassQuiz is an open-source quiz app, making it highly accessible for educational purposes.
- Quizzes creation: Teachers can create quizzes using the app.
- Remote quiz playing: Users can play quizzes remotely with other people.
- Real-time communication: ClassQuiz utilizes python-socketio for real-time communication between the server and clients.
- FastAPI backend: The backend of ClassQuiz is built with FastAPI, a fast and modern web framework for Python.
- SvelteKit frontend: The frontend uses SvelteKit, a web framework for building user interfaces.
- TailwindCSS: ClassQuiz utilizes TailwindCSS, a CSS framework, for styling the frontend.
- Self-hostable dependencies: ClassQuiz can be self-hosted and requires Meilisearch for search functionality, Caddy for reverse proxy, Postgres for the database, and Redis for caching.
- Closed-Source 3rd parties: ClassQuiz integrates with Mapbox for maps and hCaptcha for captcha functionality.
Installation
To install the ClassQuiz app, follow these steps:
- Clone the repository:
git clone [repository-url]
- Navigate to the project directory:
cd classquiz
- Install backend dependencies:
pip install -r requirements.txt
- Install frontend dependencies:
cd frontend && npm install
- Start the backend server:
python main.py
- Start the frontend server:
npm run dev
Ensure that the required self-hostable dependencies (Meilisearch, Caddy, Postgres, and Redis) are properly set up for full functionality.
Summary
ClassQuiz is an open-source quiz app designed for interactive learning among students. It allows teachers to create quizzes and enables students to compete with their knowledge against each other remotely. The app is built with FastAPI as the backend framework, SvelteKit as the frontend framework, and utilizes TailwindCSS for styling. It can be self-hosted and relies on various dependencies for search functionality, reverse proxy, database, and caching. ClassQuiz is licensed under the Mozilla Public License 2.0, requiring any modifications to be published.