Need help with ojudge?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

192 Stars 26 Forks GNU General Public License v3.0 159 Commits 35 Opened issues


OJudge Platform

Services available


Need anything else?

Contributors list

# 411,427
121 commits
# 194,776
1 commit

OJudge Platform

What is OJudge?

OJudge Platform is a software for the creation of an Online Judge site, such as the famous At this moment it is under heavy development, which means that it is mostly unusable, and the source code is provided here mostly for developers willing to contribute to it.


The code is released under the terms of the GPL-3 license, a copy of which is available in the file LICENSE. According to the license, it comes with ABSOLUTELY NO WARRANTY, and you are free to reuse and distrubute it, in compliance with the terms of the mentioned license.


Instructions for the building and use of the software:


To build and run this software you need Wt ( and its dependencies (including boost, cmake and a C++17 compatible compiler). Check the Wt documentation on how to install it in your system.

You will also need PostgreSQL installed and running in your system.

oath-toolkit ( is required for Two Factor Authentication. It is available for install in all major Linux distributions.

GraphicsMagick++ is required for some image processing.


Clone this repository, or a fork of it, and from its root directory run:

$ cmake .
$ make

If your system is correctly setup, the code will be built. Then, check that the file
points to the correct
directory (which, by default, is
, but, depending on your particular setup, could be
or similar).

Now create an empty database, with proper permissions, for OJudge to use.


Before the first run, create or edit the file

and include the following lines:

Once that is setup, you can start the server by running:

$ ./

If there are no errors, you'll access the platform via your web browser, pointing it to

. An administration user is created by default, with username
and also password

Questions or contributing

In case you have problems setting and running this software, or if you'd like to contribute code to its development, you are welcome to join us in We are also at Discord:

You can also contribute with financial support using these channels:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.