As a fork of DMOJ and VNOJ, CTUOJ serves as the official online judge and programming contests of CICT.
See it live at dmoj.ctu.edu.vn!
Checkout the features listed here.
Addition features:
- Beside Python checkers here, we can write custom C++ checker using
testlib.h
.
Check out the install documentation at docs.dmoj.ca. Almost all installation steps is the same as the docs, there is one minor change: clone this repo instead of dmoj repo.
-
You have to define
DMOJ_PROBLEM_DATA_ROOT
inlocal_settings.py
, this is path to your problems tests folder. -
Considering to disable Full text search, please check this issuse for more information.
-
To sync the caching of judge server and site, change cache framework (
CACHES
) tomemcached
orredis
instead of the default (local-memory caching). -
The "home button" the admin dashboard (/admin) will redirect to
localhost:8081
if you usepython3 manage.py loaddata demo
, there is 2 ways to fix it:- You can change that in demo.json
- You can go to the admin page, scoll down to find the
Sites
settings and changelocalhost:8081
to your domain.
-
To support
testlib.h
, you need to copy the testlib.h to g++ include path in judge server. To speed up compiler time, you may create the precompiled header totestlib.h
.
Take a look at our contribution guideline.
If you found any bug, please feel free to contact us via Discord or open an issue.
Pull requests are welcome as well. Before you submitting your PR, please check your code with flake8 and format it if needed.
Translation contributions are also welcome.