This is a DMOJ fork for the NTU DSA course of spring 2019, with the following features:
- Show on the "My Submission" page the score a student will get after taking into account late penalties.
- Not showing others' source code even for AC'd users (for homework assignments).
- Use a pre-shared registration password and remove email verification (for simplicity).
- Use English instead of Simplfied Chinese for Traditional Chinese browsers (lest some students complain).
- Use HTTP_X_FORWARDED_FOR for user IP (since the instance is behind a reverse proxy).
- Ability to submit via uploading source files.
- Forget password link removed (since no mail server is used, and the link created a lot of confusion).
I might create PRs to (attempt to) upstream some of these changes (especially 2, 3, 5, and 6) once I clean them up and create proper configuration to interact with them.
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. |
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.
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.
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.
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.
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.
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.
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!