A modern open-source online judge and contest platform system.
Go to file
2019-09-24 14:59:41 -04:00
django_ace Make django_ace work on Django 2.1+ (#968) 2019-04-20 17:07:10 -04:00
dmoj Add page for entering the cloned problem code; #1006 2019-09-22 16:03:07 -04:00
event_socket_server Make ProxyProtocolMixin work on Python 3 2019-04-09 17:17:35 -04:00
judge Fix some UI issues related to #988 2019-09-23 23:37:35 -04:00
locale Fix Spanish translations breaking build. 2018-08-21 18:17:30 -04:00
resources Add view to display rejudge success 2019-05-05 21:54:45 -07:00
templates Fix some UI issues related to #988 2019-09-23 23:37:35 -04:00
websocket Address sources of update leaks in websocket event daemon 2018-12-12 23:17:57 -05:00
.browserslistrc Use Autoprefixer for CSS postprocessing 2019-09-24 14:59:41 -04:00
.gitignore Add Visual Studio Code folder to gitignore (#742) 2018-10-12 17:35:57 -04:00
.gitmodules
502.html
dmoj_celery.py Add basic celery support and demo tasks 2019-05-05 12:50:13 -07:00
LICENSE
logo.png Transparent logo.png 2015-06-14 00:05:12 -04:00
make_style.sh Use Autoprefixer for CSS postprocessing 2019-09-24 14:59:41 -04:00
manage.py Make manage.py work with PyMySQL. 2017-09-26 13:41:31 -04:00
manifest.json
README.md Add TOTP to README.md 2018-10-23 22:58:26 -04:00
requirements.txt Upgrade Django requirement to 2.1 (#986) 2019-09-06 23:34:17 -04:00
robots.txt

DMOJ Site Documentation Status Slack

Django AGPLv3 contest judge frontend for the DMOJ judge system. See it live at https://dmoj.ca/.

A modern online judge and contest platform system, supporting IO-based, interactive, and signature-graded tasks.

Features

Sleek problem formatting

Problems are written in Markdown, with LaTeX-enabled math and figures, as well as syntax highlighting. Problem statements can be saved to PDF for ease of distribution to contestants.

Submit in over 50 languages

Contestants may submit in over 50 programming languages with syntax highlighting. New languages can easily be added to the site, and problem authors can limit the languages which may be used to solve a problem.

Live submission status

Submission pages feature live updates, and submissions may be aborted by both submission authors and administrators. Compilation errors and warnings for a number of languages feature color highlighting.

Configurable contest system

Contests feature an optional rating system, and can be configured to run in any timeframe. Users are also able to participate virtually after the contest ends.

Internationalized interface

Use the site in whatever language you're most comfortable in — currently fully supporting English, Simplified Chinese, and Romanian. Problem authors can provide statements in multiple languages, and DMOJ will display the most relevant one to a reader.

Mobile support

The DMOJ is usable on devices of all sizes, and improvements are constantly being made in this area.

The DMOJ admin interface is highly versatile, and can be efficiently used for anything from managing users to authoring problem statements.

Miscellaneous others

This is by no means a complete list, but other features in the DMOJ site include:

  • OAuth logins
  • two factor authentication (TOTP)
  • user comments
  • arbitrary flatpages
  • editorial support
  • language-specific resource (time/memory) constraints
  • filterable submissions
  • user rating graphs
  • front-page blog
  • registration emails
  • automated contest email notifying

...and many more!