An examination platform implemented in python django. You can define closed multiple-choice questions and open questions. In the open questions students can type in their code as the answer, which is supported with python syntax highlighting. The language of the platform is Polish though it can be easily translated to another language.
- Python (3 or higher)
- Django (recommended: 1.11)
- django-bootstrap4
- django-markdownx
- pandas
- requests
To use our application you need to clone the code from this repo, and you need to have a database running on your computer. We recommend using MySQL as a database backend as it was used during the development. The username and password of your database should be stored in environment variables DB_USER and DB_PASSWORD respectively. You will also have to configure django settings, generate new secret key and turn off debug mode. If you don't know how to do that, see here. Eventually, you need to migrate your database with the command: python manage.py migrate
and apply translations with python3 manage.py compilemessages
.
- DB_USER
- DB_PASSWORD
- GITHUB_USERNAME
- GITHUB_TOKEN
Github token can be generated here, it is needed for accessing github API which is used to show markdown in a pretty and colored way.
- Create a django superuser.
- Log in as a superuser and create student accounts (you can do it through "Create users" button in the top right corner of your screen - USOS fileformat is also supported to generate all accounts at once).
- Go to the admin panel (/admin) and create tests.
- Now you can start the examination ;)