[Open Source] Online Judge System, an Online Code Judging Platform Supporting Both Online and Offline Contest Scenarios

Open SourceProcess Management
2026-06-28 04:18 1 次浏览 • 0 次下载 0KB
[Open Source] Online Judge System, an Online Code Judging Platform Supporting Both Online and Offline Contest Scenarios

1. Project Overview

Jiangnan Online Judge

Jiangnan Online Judge (JOJ) is an online judging system. Users can submit source code written in various programming languages, such as C, C++, and Java. The system compiles and executes the submitted code, then verifies its correctness using predefined test data.

2. Open Source License

Released under the BSD open-source license.

3. Screenshots

The new version uses Golang and React with a decoupled frontend and backend architecture. It features a completely redesigned architecture, online code execution and testing, an improved user experience, and shared question data downloads.

Refer to the documentation to switch to the v2 branch and try it out.

4. Feature Overview

Functional characteristics

  • OI Mode - Supports OI-style judging and subtask-based judging.
  • Live Scoreboard - Provides a rolling scoreboard after a contest ends.
  • VIP User Mechanism - Questions can be restricted to VIP users only.
  • Group Features - Users can create groups and organize contests within them.
  • Testlib Special Judge - Supports writing special judge programs using testlib.h.
  • Online and Offline Contest Scenarios - Adds restrictions for offline contests, such as limiting eligible contest accounts and preventing participating accounts from modifying their personal information.
  • Offline Contest Printing - Provides code printing functionality for offline contests.
  • Problem Printing - After creating a contest, problem information can be exported to PDF with one click for printing.
  • Download Contest Submissions - Useful for plagiarism detection.
  • Announcement Pop-up Notifications - During contests, administrators can send pop-up notifications about new announcements to all online users.
  • Record Failed Test Data - Allows users to view test data that caused submitted solutions to fail.
  • News Portal Homepage - Displays news, announcements, and other information on the homepage.
  • Multi-Language Support - Currently supports C, C++, Java, and Python3.
  • Supports (KaTeX) mathematical formulas.
  • Multiple Sample Cases in Problem Descriptions - Allows multiple sample cases to be provided in a single problem description.
  • Publish Editorials for Contests.
  • Problem Tags - Add tags to problems for easier searching.
  • Developed Based on the MVC Framework - Easy to learn and get started with.
  • Polygon Problem-Setting System - A fully featured problem-setting system for creating problems, generating test data, validating problems, and more.
  • Web-Based Problem Data Management - Add, delete, modify, and query problem test data online.
  • Leaderboard - Ranks users based on the number of problems solved and other statistics.
  • Contest Scoreboard - Calculates scores for contest participants and ranks them accordingly.

5. Tech Stack

Environment Requirements

Install in a Linux environment. The judging server was developed for Linux and cannot run on Windows.

Set up an LNMP (or LAMP) environment: PHP 7.x, MySQL, Nginx / Apache2.

This tutorial is divided into One-Click Installation Script、Manual Installation Process. Choose either of these two installation methods.

If you want the judging server to start automatically at boot, refer to Startup on Boot after installation.

#1
资源直链https://gitee.com/shi-yang/jnoj
去下载
星河码客

发现和分享优质开源项目,传承互联网精神,为开发者服务。

关于本站

联系我们

微信/广告合作:ITcloub (备注星河码客)

免责声明:本站资源版权归原作者所有,仅供学习与交流。如有侵权,请通过「关于我们 - 侵权投诉」联系删除。

Powered by Nuxt · Deployed on Cloudflare