Skip to content

kunguyenqt/iSOJ

 
 

Repository files navigation

VNOJ: VNOI Online Judge Build Status AGPL License Discord link

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_ROOT in local_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) to memcached or redis instead of the default (local-memory caching).
  • The "home button" the admin dashboard (/admin) will redirect to localhost:8081 if you use python3 manage.py loaddata demo, there is 2 ways to fix it:
    1. You can change that in demo.json
    2. You can go to the admin page, scoll down to find the Sites settings and change localhost: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 to testlib.h.

Contributing PR's Welcome

Take a look at our contribution guideline.

If you found any bug, please feel free to contact us via Discord Discord Chat 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.

About

A modern open-source online judge and contest platform system.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 66.6%
  • HTML 25.6%
  • SCSS 4.1%
  • JavaScript 2.6%
  • CSS 1.1%