GithubHelp home page GithubHelp logo

lixin-wei / hznuoj Goto Github PK

View Code? Open in Web Editor NEW
58.0 6.0 11.0 17.68 MB

Hangzhou Normal University Online Judge

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

License: GNU General Public License v3.0

Shell 0.22% C++ 2.22% Makefile 0.28% C 10.33% Lex 0.62% HTML 0.19% CSS 16.93% JavaScript 39.49% PHP 27.99% Roff 0.16% PLSQL 0.21% Objective-C 0.30% Hack 0.05% PLpgSQL 1.00% Dockerfile 0.01%
online-judge onlinejudge acm-icpc hznu

hznuoj's Introduction

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,这将是对我莫大的帮助与鼓励,十分感谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.