The IOI Task Translation System provides a web interface for translating the tasks (problems) into various languages during the International Olympiads in Informatics. The system was initially developed and first used in IOI 2017 in Tehran, Iran.
- Markdown editor with mathematical expressions support
- Support for right-to-left and southeastern languages
- Embedded printing system
- User-friendly editing environment with parallel view
- PDF generation with custom fonts
- Revision history with diff mode
- Handy notification system
- Full-featured admin page
- Support for multiple contests
- Dockerized and easy to develop and deploy
Read the documentation here.
- Install Docker and Docker Compose.
- Clone the project to your machine.
- Run
docker-compose up -d
.
At this point, the app will be running at http://localhost:9000/
. You may optionally perform the following tasks:
- To create initial administrator users and groups, run
docker-compose exec app bash
, and then in the shell, runpython3 manage.py loaddata initial_data.json
. Then, exit from the shell by typingexit
. - To add countries, languages, and users, use the CSV importer in the admin interface. Sample data is provided in
data/
. - You can get access to the system logs by running
docker-compose logs
. To follow the logs from now on, rundocker-compose logs -f --tail=0
. - To stop the app, run
docker-compose stop
.
To use docker in development settings, add --reload
option to the execution line of gunicorn in docker-entrypoint.sh
file. Then run docker by docker-compose up --build
.
This software is distributed under the MIT license, and uses third party libraries that are distributed under their own terms (see LICENSE-3RD-PARTY.txt).
Copyright (c), IOI International Technical Committee.
Initiated by the IOI 2017 Host Technical Committee.