OJ
OJ copied to clipboard
A modern open-source online judge and contest platform system.
VNOJ: VNOI Online Judge

As a fork of DMOJ, VNOJ serves as the official online judge and programming contests of VNOI.
See it live at oj.vnoi.info!
Features
Checkout the features listed here.
Addition features:
- Beside Python checkers here, we can write custom C++ checker using
testlib.h.
Installation
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.
Additional step in installation:
- You have to define
DMOJ_PROBLEM_DATA_ROOTinlocal_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) tomemcachedorredisinstead of the default (local-memory caching). - The "home button" the admin dashboard (/admin) will redirect to
localhost:8081if 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
Sitessettings and changelocalhost:8081to 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.
Contributing 
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.