NOJ——基于 Laravel 的开源 Online Judge 实现

2019-06-06 10:31:02 +08:00
 zsgsdesign

NOJ 是一个基于 PHP+Laravel 的现代化在线测评系统,评测机部分使用 Docker。

上一个版本的 NOJ 已经有十年历史了,bug 无数,最初是和 NUAA 合作的但是被人家甩了,所以去年年底我们终于下定 决定重构一个现代话的版本,一扫垃圾 UI。

所以寒假里,我一个人从除夕写道开学,搞了一个全新的 NOJ。经过多次版本迭代,NOJ 目前已经非常成熟了。多个校级比赛已经采用 NOJ 进行了,可惜的是今年省赛我们还是使用了 DOMJudge。

目前我们校队的训练中大量使用了 Virtual Judge,于是 NOJ 顺水推舟继承了 Virtual Judge 功能,未来 NOJ 将会以每周一个 OJ 的速度上线一个新的 OJ。

当然,作为一个 OJ,必要的功能也是不能少的,NOJ 使用 Docker 作为判题核心,采用了网站服务评测机分离的模式,同时我们也支持了评测机集群,还有一个虚假的负载均衡(误

目前 NOJ 的技术栈主要有 PHP+Laravel+MySQL+Redis,评测部分 Go+Docker,还有一些例如测试用例生成使用了 python 实现,甚至,甚至还有为了兼容 Windows 而写的 vbs......

NOJ 已经在开源社区 GitHub 上线,收获了 100+star,欢迎大家来 Star,Fork 或者提 Issue 哦~

GitHub: ZsgsDesign/NOJ

Wiki: ZsgsDesign/NOJ/wiki (非常不全)

Demo: NOJ (最近一周晚上封外网,只能白天访问)

有什么问题或者建议欢迎在下面回复。

谢谢啦~

4098 次点击
所在节点    分享创造
21 条回复
JC1027
2019-06-08 12:30:36 +08:00
@azh7138m #20 没问题,只是提供一个建议

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/571401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX