CLASSQUIZ is a system that aims to increase the participation of students within high attendance classes, through the carrying of surveys.
The system developed consists of 3 main parts:
Individual Terminals, through which the students can answer the surveys;
A server, located within the classroom, which validates the students ID, their answers;
A web application, which allows the creating and execution of the surveys.
This project requires Python 3.6 or higher.
To install MySQL (version 5.6 or higher) on Ubuntu 18.04: https://dev.mysql.com/downloads/mysql/
During installation, setup root's password as: password
pip3 install virtualenv
cd project_folder virtualenv venv
To activate the Virtual Environment:
After activating the Virtual Environment, run the following command to install the required packages:
pip3 install -r requirements.txt
With all the above set up, navigate to
quiz_dev/django_quiz/ directory, containing the file
manage.py, and run the following:
python3 manage.py makemigrations python3 manage.py migrate
python3 manage.py makemigrations users python3 manage.py migrate users
python3 manage.py makemigrations quiz python3 manage.py migrate quiz
The commands required the Virtual Environment to be activated.
To create a new Super User:
python3 manage.py createsuperuser
To start the web application:
python3 manage.py runserver 0.0.0.0:8000
To access the main page, open the browser and navigate to
To access the admin page, open the browser and navigate to
You'll need to create a new
Course within the admin page. After that, you'll need to associate it with an existing
User by creating a new
When creating a new
ProfileCourse, if the
Profile option appears to be blank, you'll need to add a first and last name to the
User. This can be done by editing it's
The CLASSQUIZ system will only work with it's dedicated terminals, and when connected to it's dedicated network.
Terminal Firmware Installation
quiz_dev/firmware/firmware.ino to the terminal through Arduino IDE, you'll need to do the following:
Install Arduino IDE and open it
Go to File > Preferences
http://arduino.esp8266.com/stable/package_esp8266com_index.jsoninto the “Additional Board Manager URLs” field, then click ”OK”
Go to Tools > Board > Board Manager
Scroll down, select the ESP8266 board menu and install “esp8266”
Choose your ESP8266 board from Tools > Board > NodeMCU 1.0 (ESP-12E Module)
Install the package MFRC522 by GithubCommunity from Sketch > Include Libraries > Manage Libraries
Following the previous step, install the package ESP8266RestClient by fabianofranca
Finally, re-open your Arduino IDE
NOTE: Existing terminals are already updated.
upload_template.xlsx is merely a template to help users upload previously created quizzes.
ClassQuiz Development Blog
Author: João Carlos da Silva moreira (firstname.lastname@example.org)