Skip to content

Latest commit

 

History

History
86 lines (52 loc) · 2.8 KB

CONTRIBUTING.md

File metadata and controls

86 lines (52 loc) · 2.8 KB

Contributing guide

Welcome!👋 Thank you for considering contributing to this project!

Development installation

Here are the steps to get a development installation up and running.

1. Fork the repository

Follow the GitHub guide for how to fork a repository, clone it, and learn about creating pull requests.

2. Install the dependencies

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.

3. Apply the migrations

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.

4. Run the development server

Start the development server to see the changes you make.

python3 manage.py runserver

Gain Admin access

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:

  1. Go to the admin interface http://127.0.0.1/admin and login with your GitHub account.

  2. 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"]'

Run the evaluator script

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

Code of Conduct

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!