[开源]在线评测系统,一个在线的判题系统,支持线上线下赛场景
开源系统流程管理
![[开源]在线评测系统,一个在线的判题系统,支持线上线下赛场景](https://yy123.ink/api/img/1782591532615-uttdqt.jpg)
一、开源项目简介
Jiangnan Online Judge
江南在线评测系统(Jiangnan Online Judge),是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++、Java)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。
二、开源协议
使用BSD开源协议
三、界面展示
新版采用 Golang、React 前后端分离开发,全新架构,用户在线运行测试,全新的用户体验、题目数据共享下载。
可参考文档切换至 v2 分支进行体验。


四、功能概述
功能特性
- OI 模式 - 支持 OI 模式判题,子任务判题
- 滚榜 - 在比赛结束后,提供滚动榜单的功能
- VIP用户机制 - 可以将题目设为仅 VIP 用户可见
- 小组功能 - 用户可以创建小组,并在小组内举办比赛
- Testlib 特判 - 支持使用 testlib.h 来写特判程序
- 线上线下赛场景 - 为线下举办的比赛增加限制:如限制参加比赛的账户,参加比赛的账户不能自己修改个人信息
- 线下赛打印功能 - 为线下赛提供打印代码的功能
- 题目打印功能 - 创建比赛后,可以将题目信息一键导出为 PDF,以供打印。
- 下载比赛的提交 - 可用于查重
- 公告弹窗提示 - 在比赛过程中,发布公告时可以给所有在线用户发布弹窗提示有新公告
- 记录出错数据 - 可以查看提交方案的出错数据
- 新闻门户首页 - 首页显示新闻,各种公告等
- 支持多语言 - 现支持 C、C++、Java、Python3
- 支持(Katex)数学公式
- 题目描述多组样例 - 在一道题目的样例描述中,可以提供多组样例
- 对比赛发布题解
- 问题标签 - 给问题添加标签,方便查询
- 基于 MVC 框架开发 - 开发便于上手
- 多边形出题系统 - 一个功能完善的出题系统。出题目,生成数据,验题等。
- Web 在线管理题目数据 - 在线对题目测试数据进行增删改查
- 排行榜 - 对用户解题数量等进行排行
- 积分榜 - 对参加比赛的用户进行积分结算,并进行排名
五、技术选型
环境需求
在 Linux 环境下安装。判题机是在 Linux 环境下写的,Windows 下无法运行判题机。
搭建 LNMP (或 LAMP) 环境:PHP 7.x、MySQL、Nginx / Apache2
本教程分为 一键安装脚本、手动安装过程。这两个过程选择其中一个即可。
测评机如需加入开机自动启动,请安装完后看 开机启动
评论