Welcome!👋 Thank you for considering contributing to this project!
Here are the steps to get a development installation up and running.
Follow the GitHub guide for how to fork a repository, clone it, and learn about creating pull requests.
Ensure you have the necessary dependencies installed.
pip install -r requirements.txt
Important: Make sure you have a working installation of Python 3.6 or later.
Note: Consider installing the dependencies in a virtual environment for better isolation.
Apply the migrations to the database. Read more about Django migrations here.
python3 manage.py migrate
Note: Every time you make any changes to the models, you will need to create a new migration and apply it.
Start the development server to see the changes you make.
python3 manage.py runserver
In order to access the admin interface at /admin
, your user needs to be a Django superuser.
Because we use GitHub external login we cannot use the existing manage.py createsuperuser
command, so a separate promote command was created to promote an existing user (created via GiHub login) into a superuser.
Steps to access the admin interface:
-
Go to the admin interface
http://127.0.0.1/admin
and login with your GitHub account. -
Promote your GitHub username to a superuser by running the following command, replace
<username>
with your GitHub username:python3 manage.py promote <username>
Note: You can also promote a list of users to superusers by running the following command:
python3 manage.py promote '["username1", "username2" ,"username3"]'
The evaluator script is used to evaluate user submissions. It does so by creating and starting a Docker container to evaluate each submission. The results are then stored to a file.
To run the evaluator script, run the following command then go to the app and do a submission:
python3 manage.py evaluator
Please note that this project has a Code of Conduct. By participating in this project you agree to follow it.
Thank you for your contributions!