HGOJ使用说明

HGOJ安装和使用说明

湖南工学院在线判题系统,使用Golang进行了重构,现在正式开放出来给湖工ACM竞赛队的同学使用。

环境准备

HGOJ使用Docker进行部署,所以只需要系统安装有Docker和Docker-Compose即可
对于mac环境只要下载Docker并安装即可(比较简单)
Linux环境的安装如下(以Ubuntu为例):

  • 安装依赖
1
# sudo apt-get update && sudo apt-get install -y vim  curl git
  • 安装Docker&&Docker-Compose
1
# sudo curl -sSL https://get.daocloud.io/docker | sh
1
2
3
# sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# sudo chmod +x /usr/local/bin/docker-compose
# sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Win环境有兴趣的可以试试

安装系统

  • 找到一个磁盘比较充足的盘,运行如下命令
1
# git clone -b master https://github.com/yinrenxin/HGOJ-Deploy.git && cd HGOJ-Deploy
  • 启动服务
1
# sudo docker-compose up -d

系统运行后会发现运行不起来,是因为还没有数据库,需要手动建立数据库(以后再改),打开8080端口,进入到phpmyadmin,然后建立hgoj命名的数据库,之后再重新启动hgoj容器即可。
经过以上步骤,HGOJ就安装好了。默认的首页为index,第一个注册用户为管理员。之后就能愉快的使用了。
如果是正式部署使用的话推荐把phpmyadmin容器给停掉,需要操作数据的时候再临时启动,并且更改.env里的mysql密码,然后更改hgoj连接数据库的密码。
如果上面的步骤出了问题可以找我来解决(咕咕咕)

HGOJ系统的使用

  1. 测试数据
    主要说明下测试数据的规范,测试数据需要本地做好后打包成zip压缩包,可以搞多组测试数据,输入文件以.in为结尾,输出文件以.out结尾,把测试数据放到一起进行压缩(切记不要把数据放到一个目录下,然后对这个目录进行压缩)。压缩好后的文件命名必须为data.zip。
  2. 创建题目
    创建题目的时候测试数据使用这个压缩包上传。因为使用了markdown,所以题目描述、输入、输出描述要根据markdown语法来进行填写。

  3. 创建比赛
    比赛创建,根据需要添加比赛开始和结束时间,比赛描述同样需要使用markdown语法。添加题目这里,用逗号分隔。权限和用户这里功能还未开发完毕不用管,默认都是公开的。

联系

  • Github:HGOJ
  • HGOJ开发QQ群:245461736
  • 湖工ACM交流群:662688178
  • 湖工ACM对外小分队:663690027

其他

因为时间仓促,很多功能还没有实现。因为要兼容以前的OJ系统的数据(以前的OJ系统使用了hustoj),所以功能上先保证以前有的,HGOJ上也有,判题使用了hustoj的判题,未来的终极目标是使用go重写判题机。如果有小伙伴对go和oj有兴趣,欢迎来一起维护。为啥使用go呢,因为再用PHP写就没意思了(逃) : )

感谢土豪
0%