lixin-wei / HZNUOJ

Hangzhou Normal University Online Judge

Home Page:http://acm.hznu.edu.cn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HZNUOJ 是基于 HUSTOJ 改造而来的,遵循GPL协议开源

优势

  • 更华丽的界面
  • 更灵活的权限管理
  • 支持多组样例
  • 有封装好的Docker镜像,一键部署

界面截图

首页

支持提交量和访问量的统计

index

榜单

重写过的的榜单

board

能点开查看每题的提交状况

board2

题目编辑界面

problem-edit

多样例支持

problem-edit

权限管理界面

细分的权限分配

privilege

部署指南

使用Docker(推荐)

获取镜像

自行build

在仓库根目录下:

docker build -t hznuoj:latest -f docker/Dockerfile ./

等待build完成即可。

完成后docker image ls,若有看到hznuoj的镜像即为成功。

从Docker Hub下载

如果你实在懒得build,也可以从Docker Hub下载。

HZNUOJ的Docker Hub主页:https://hub.docker.com/r/wlx65003/hznuoj ,会持续从master分支构建最新的镜像。

使用docker pull下载即可,由于HZNUOJ的Judger依赖较多,所以镜像很大,约1.2G,请耐心等待,或者自行寻找科学上网方式。最好还是自己build。

docker pull wlx65003/hznuoj

启动容器

docker run -it --rm -p 90:80 --privileged hznuoj:latest

其中-p 90:80表示把容器的80端口映射到宿主机的90端口,可自行修改,可以直接改成http默认的80端口以省去网址里的端口号。

--rm 表示运行一次就删除容器,如果你想长期运行,当虚拟机用,需要去掉。

--privileged 不能省略,否则判题机会权限不足,判题功能无法正常运作。

然后访问localhost:90即可。

使用源码

  1. HZNUOJ目前只在Ubuntu16.04上跑过,在更高版本下判题机可能无法正常运行。

  2. 下载源码 git clone https://github.com/wlx65003/HZNUOJ.git 或者直接访问https://github.com/wlx65003/HZNUOJ 下载zip包

  3. 若已安装mysql,请修改intall.sh judge.conf /web/OJ/include/db_info.inc.php 中的相应账户密码信息(默认为root/root)。若还未安装,请确保接下来安装mysql的过程中将用户名和密码都设成root。

  4. 以root权限运行judger/install/install.sh , 请确保在目录 judger/install/

  5. 安装完成后访问localhost即可。

使用教程

默认管理员账号为admin/123456。

出题手册见https://www.yuque.com/weilixinlianxin/zcf10d/yfk05w

贡献代码/Bug反馈

HZNUOJ目前开发人手很有限,只有已经上班的我和训练繁忙的一些学弟,有许多已知的不友好的功能和小BUG,只能抽时间慢慢改了。

同时也欢迎大家反馈issue/提交pull request帮忙一起完善HZNUOJ。

最后,如果您觉得HZNUOJ好用,请给我一个Star,这将是对我莫大的帮助与鼓励,十分感谢!

About

Hangzhou Normal University Online Judge

http://acm.hznu.edu.cn

License:GNU General Public License v3.0


Languages

Language:JavaScript 39.5%Language:PHP 28.0%Language:CSS 16.9%Language:C 10.3%Language:C++ 2.2%Language:PLpgSQL 1.0%Language:Lex 0.6%Language:Objective-C 0.3%Language:Makefile 0.3%Language:Shell 0.2%Language:PLSQL 0.2%Language:HTML 0.2%Language:Roff 0.2%Language:Hack 0.0%Language:Dockerfile 0.0%