explaingit

zhblue/hustoj

Analysis updated 2026-07-03

3,738JavaScriptAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

HUSTOJ is a self-hosted web platform for competitive programming training and contests where participants submit code that is automatically tested and graded. Built with PHP, C++, and MySQL.

Mindmap

mindmap
  root((hustoj))
    What it does
      Auto-grades submissions
      Hosts contests
      Multi-language support
    Tech Stack
      PHP C++
      MySQL Linux
      Docker
    Features
      AI error hints
      Problem library
      User leaderboards
    Audience
      Students
      Contest organizers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Set up a private competitive programming practice site for your class or team using the Ubuntu installation path.

USE CASE 2

Run ACM-ICPC style contests with automatic grading by deploying HUSTOJ and loading the bundled problem library.

USE CASE 3

Let students get AI-powered hints on compilation errors and runtime failures as they solve algorithmic problems.

What is it built with?

PHPC++MySQLJavaScriptDockerLinux

How does it compare?

zhblue/hustojkach/nearleywebrtchacks/adapter
Stars3,7383,7383,738
LanguageJavaScriptJavaScriptJavaScript
Setup difficultyhardmoderateeasy
Complexity4/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a Linux server with PHP, MySQL, and C++ compiler, Docker installation path is available for easier deployment.

Open source under GPLv2, you can use, modify, and distribute it, but any modified version you share must also be open source under the same GPLv2 license.

In plain English

HUSTOJ is an open-source online judge system, which is a web platform used for competitive programming training and contests. It is designed for use cases like ACM/ICPC and NOIP preparation, where participants submit code solutions to algorithmic problems and the system automatically tests them against hidden inputs, then reports whether the solution is correct. The platform is built with PHP, C++, MySQL, and Linux, and is meant to be self-hosted on your own server. The README is primarily in Chinese and covers installation instructions for several Linux distributions including Ubuntu 20.04 (recommended for beginners), Deepin, and CentOS, as well as a Docker-based installation path and a LiveCD download option. Once installed, administrators manage the system through a web interface. The system supports multiple programming languages for submissions and includes a built-in problem set with a linked problem library available for download. It has a templating system for the web interface, with several themes available to choose from by changing a configuration variable. There are features for organizing contests, managing users and groups, and tracking statistics per user and class group. Recent updates listed in the changelog include AI-assisted features: AI can help generate problem tags, assist in creating new problems through a point-and-click interface, and provide hints on compilation and runtime errors using external AI APIs such as Qwen. The system also added a coin and points economy where users earn rewards for solving problems and administrators can grant or deduct points. SQL-based problems can be tested in the browser using a WebAssembly build of SQLite, offloading some server test load. The project is licensed under GPLv2 for its original code. It is actively maintained and contributions or bug reports are handled through GitHub issues. A community QQ group is provided for Chinese-speaking users who prefer live chat support.

Copy-paste prompts

Prompt 1
I want to set up HUSTOJ on Ubuntu 20.04 to run competitive programming contests for my class. Walk me through the installation steps and how to add problems from the problem library.
Prompt 2
How do I configure HUSTOJ to support AI-powered hints for students who get compilation errors, using an external API like Qwen?
Prompt 3
I want to deploy HUSTOJ using Docker. Show me the configuration steps and how to load the problem library after the container is running.

Frequently asked questions

What is hustoj?

HUSTOJ is a self-hosted web platform for competitive programming training and contests where participants submit code that is automatically tested and graded. Built with PHP, C++, and MySQL.

What language is hustoj written in?

Mainly JavaScript. The stack also includes PHP, C++, MySQL.

What license does hustoj use?

Open source under GPLv2, you can use, modify, and distribute it, but any modified version you share must also be open source under the same GPLv2 license.

How hard is hustoj to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is hustoj for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub zhblue on gitmyhub

Verify against the repo before relying on details.