We’re building an AI-powered quizzing system that can generate questions on any topic - SATs, movies, national flags, or whatever you choose! The application supports custom inputs like PDFs or images and can also generate quizzes autonomously using DeepSeek. It provides an engaging learning experience with minimal human input.
To maximize accessibility, our model integrates with APIs, allowing it to function as a Discord bot, a web interface, or a CLI tool. But we didn’t stop there, we wanted to make quizzing fun. Inspired by QuizUp, we focused on gamification, incorporating features that users love based on insights from community discussions.
We also used some standard open source trivia data, such as the OpenTriviaQA and the opentdb API.
For the latest stable version, head to Releases.
Download and extract the source code.
As an alternative, you could also clone the repository using,
git clone https://github.com/SVijayB/Quizzatron.git
Once the repository is cloned, run cd Quizzatron
The easiest way to get started is to use our setup script, which handles everything automatically:
You can run the setup script in the root directory using
python setup.py
The script will:
- Check for Python, Node.js and NPM (providing installation instructions if needed).
- Create a virtual environment for the backend (Python).
- Install all required backend and frontend dependencies.
- Start the Flask API server.
- Start the frontend development server (if Node.js is available).
- Automatically open the frontend application in your browser.
Alternatively, you can set up manually:
- Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
On Windows:
venv\Scripts\activate
On macOS/Linux:
source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
- Install frontend dependencies:
cd frontend
npm install
Once the dependencies are installed, you need to set up the environment variables.
Create a .env
file in the root directory and add the following variables:
GOOGLE_API_KEY=ENTER_GEMINI_API_KEY_HERE
MONGO_CONNECTION_STRING=ENTER_MONGO_CONNECTION_STRING_HERE
FLASK_ENV=PRODUCTION/DEVELOPMENT
PORT=PORT_NUMBER_HERE
- To start the backend server, run the following command in the root directory:
flask run
- To start the frontend development server, run the following command in the
frontend
directory:
npm run dev
├── .github
├── api
│ ├── routes
│ ├── services
│ ├── static
│ ├── templates
│ ├── utils
├── assets
├── docs
│ ├── specs
│ ├── technology_review
│ ├── demo_output
│ └── demo_scripts
├── frontend
│ ├── node_modules
│ ├── public
│ ├── src
│ │ ├── components
│ │ ├── hooks
│ │ ├── lib
│ │ ├── pages
├── scripts
└── tests
│ ├── routes
│ ├── services
│ └── utils
You can also find the demo video here.
To contribute to Quizzatron, fork the repository, create a new branch and send us a pull request. Make sure you read CONTRIBUTING.md before sending us Pull requests.
Thanks for contributing to Open-source! ❤️
Quizzatron is under The MIT License. Read the LICENSE file for more information.