开源免费、部署简单的在线评测系统(OJ)
一、 NOJ
有老师后台:
1、发布题目
2、上传测试数据(输入 / 输出)
3、查看学生提交、AC/WA/TLE 状态
4、看班级 / 学生做题情况
5、支持:C/C++/Java/Python 等竞赛常用语言
6、轻量、运维简单,不用复杂配置
7、完全开源,你可以随便改界面、改功能
开源地址(直接拿源码)
GitHub:
https://github.com/ZsgsDesign/NOJ
功能你刚好需要
题目管理(增删改查、题目标签、难度)
测试数据上传(标准 IO)
在线代码编辑器 + 提交判题
实时查看学生通过情况
班级 / 分组管理(适合辅导班)
后台运维:用户管理、判题机状态、日志
二、“传统竞赛 OJ” 风格:QDUOJ
青岛大学 OJ,非常成熟,很多培训机构在用。
开源:https://github.com/QDUOnlineJudge/QDUOJ
后端:Java/SpringBoot
前端:Vue
老师后台、判题、数据、统计全有,适合稳定长期用
三、最简部署方案
你只要一台小服务器(1 核 2G 就能带 30 人班级):
下载源码
安装 Docker(一键环境)
启动 MySQL + Redis + 判题机
登录后台创建管理员、老师账号
上传题目和测试数据
学生直接访问网址做题
最终选定:HDU Judge Mini(最简小型 OJ)
最适合:10~50 人、老师出题、看成绩、上传测试数据、运维极简单。
核心满足你的全部需求
✅ 老师后台:出题、管理题目
✅ 上传测试数据(输入 / 输出)
✅ 实时看学生提交、AC/WA/ 通过情况
✅ 支持 C/C++/Python/Java(竞赛常用)
✅ 开源免费,带完整源代码
✅ 本地电脑就能跑,不用买服务器
✅ 运维几乎零成本
一、源码地址(直接拿)
GitHub 开源地址(可下载、可修改):
https://github.com/zhblue/hdu-judge-mini
二、1 分钟本地启动(你电脑就能当网站)
- 先安装两个小东西
Docker Desktop(Windows/Mac 都有)
Git - 三条命令直接运行
git clone https://github.com/zhblue/hdu-judge-mini.git
cd hdu-judge-mini
docker-compose up -d
- 访问网站
浏览器打开:
http://localhost:8080 - 管理员账号(老师用)
账号:admin
密码:admin123
三、老师端使用流程 - 发布题目
后台 → 题目管理 → 添加题目
写题干
填时间 / 内存限制
上传测试数据(输入文件 + 输出文件) - 管理学生
批量创建账号
给学生发用户名密码
禁止注册、只允许你加的人使用 - 监控做题情况
实时提交列表
看谁做出来、谁没做出来
按题目看通过率
按学生看完成度 - 竞赛 / 作业模式都支持
作业:随时交
竞赛:定时开始结束
HDU-Judge Mini(极简) vs NOJ(全功能)
一、一句话定位
HDU-Judge Mini:极简轻量 OJ,专为10–50 人小型辅导班设计,本地一键跑、运维 0 成本。
NOJ:全功能竞赛 OJ,适合50–200 人、需要班级 / 竞赛 / 统计 / 多判题机的场景,功能更强但稍重。
二、核心对比(你最关心的点)
- 适合人数与场景
HDU-Judge Mini:10–50 人、本地电脑 / 小服务器、快速开班、不想折腾
NOJ:50–200 人、云服务器 / 多机房、长期运营、多班级、正式竞赛 - 老师核心功能(你要的)
HDU-Judge Mini
✅ 出题、上传测试数据
✅ 看提交、AC/WA/TLE
✅ 简单用户管理
❌ 无班级分组、无详细统计、无竞赛模式
NOJ
✅ 出题、测试数据、多组样例
✅ 班级 / 分组、批量账号
✅ 竞赛模式(定时 / 密码 / 封榜)
✅ 通过率、排名、做题趋势统计
✅ 多判题机、负载均衡 - 技术与部署
HDU-Judge Mini
技术:Python + Flask + SQLite(单文件数据库)
部署:3 条命令本地跑,Docker 一键,不用装数据库
运维:几乎不用管,重启即恢复
NOJ
技术:Node.js + MongoDB + Redis
部署:Docker-compose,需配置数据库、判题机
运维:需维护数据库、日志、判题状态 - 开源与定制
HDU-Judge Mini:源码极简、改起来极快,适合小改界面
NOJ:源码完整、模块化、可深度定制,适合做大平台 - 判题与语言
HDU-Judge Mini:C/C++/Python/Java,单判题机,够用
NOJ:支持更多语言、多判题机并行,大并发更稳
三、给你的直接建议(按辅导班规模)
10–30 人、本地开班、快速用 → 选 HDU-Judge Mini(最快、最省心)
30–50 人、要班级 / 竞赛 / 统计 → 选 NOJ(功能全、长期好用)
50 人以上、正式竞赛 → NOJ 或 QDUOJ
HDU-Judge Mini(精简版 OJ)
一、这个系统对你的优势
老师:出题、上传测试数据、看学生 AC/WA
学生:在线写代码、提交、看结果
部署:你自己电脑就能当服务器,不用云服务器
源码:开源,随便改界面、改名字
运维:几乎 0 维护,关电脑就停,开电脑就跑
人数:10~30 人
二、3 步直接跑起来(复制粘贴就能用)
- 先装两个软件(只装一次)
Docker Desktop(必装)
git clone https://github.com/zhblue/hdu-judge-mini.git
cd hdu-judge-mini
docker-compose up -d
- 你的 OJ 网站就上线了
浏览器打开:
👉 http://localhost:8080
老师管理员账号
用户名:admin
密码:admin123
三、老师上课怎么用(最简流程)
登录后台 → 题目管理 → 添加题目
写题干
填时间限制、内存限制
上传测试数据(in 文件 + out 文件)
给学生发:
你的电脑局域网 IP:8080(比如 192.168.1.100:8080)
学生账号(后台可手动创建)
实时看:
所有提交记录
AC / WA / TLE
谁做出来,谁没做出来
一、先把 OJ 跑起来(Windows 必看)
打开 Docker Desktop(等它左下角变绿)
新建一个文件夹,比如 D:\oj
在文件夹里右键 → 在此处打开终端
复制这三行,一行一回车:
git clone https://github.com/zhblue/hdu-judge-mini.git
cd hdu-judge-mini
docker-compose up -d
浏览器打开:
plaintext
http://localhost:8080
老师账号:
账号:admin
密码:admin123
二、直接用的【A+B 完整题目 + 测试数据】
题目内容(直接复制到后台)
标题:A+B
时间限制:1000 ms
内存限制:64 MB
题目描述
输入两个整数 a,b,输出它们的和。
输入格式
一行,两个整数 a,b。
输出格式
一个整数,表示 a+b。
https://www.docker.com/products/docker-desktop/
Git(必装)
https://git-scm.com/downloads
安装时一路下一步就行。
2. 打开命令提示符,执行 3 行命令

浙公网安备 33010602011771号