Hcode Online Judge(HOJ):An open source online judge system base on SpringBoot, Springcloud Alibaba and Vue.js !

Overview

Hcode Online Judge(HOJ)

Java Spring Boot SpringCloud Alibaba MySQL Redis Nacos Vue QQ Group 598587305

前言

基于前后端分离,分布式架构的在线测评平台(hoj),前端使用vue,后端主要使用springboot,redis,mysql,nacos等技术。

在线Demo:https://hdoi.cn

在线文档:https://www.hcode.top/docs

Github仓库地址:https://github.com/HimitZH/HOJ

Gitee仓库地址:https://gitee.com/himitzh0730/hoj

有任何部署问题或项目bug请发issue或者加QQ群:598587305进行咨询。

如果要对本项目进行商业化,请在页面底部的Powered by指向HOJ本仓库地址,顺便点上star收藏本项目对开发者的支持,谢谢。

部署

部署文档:基于docker-compose部署

具体请看部署文档,已安装docker和docker-compose的可以执行以下命令快速部署

git clone https://gitee.com/himitzh0730/hoj-deploy.git && cd hoj-deploy

cd standAlone && docker-compose up -d

根据网速情况,大约十到二十分钟即可安装完毕,全程无需人工干预。

docker ps # 查看当前运行的容器状态
  1. 大概初始化启动需要一至两分钟,当看到所有的容器的状态status都为UPhealthy就代表 OJ 已经启动成功。

    注意:可能初始化过程中访问网页会出现服务器异常,此为正常现象,因为容器还在初始化中,请耐心等待容器状态为up和healthy,大概需要1~2分钟

  2. 默认超级管理员账号与密码:root / hoj123456

    部署成功后,登录root账号进入后台(http://ip/admin/conf)修改邮箱配置,新用户才可以正常注册(因为账号注册与密码等修改操作需要通过邮件发送验证码)邮箱配置可以自行百度,开启使用例如QQ邮箱提供的POP3/SMTP服务:

    Host: smtp.qq.com
    Port: 465
    Username: qq邮箱账号
    Password: 开启SMTP服务后生成的随机授权码
    

其它设置与参数说明请看基于docker-compose部署

更新

请在docker-compose.yml当前文件夹下执行docker-compose pull拉取最新镜像,然后重新docker-compose up -d即可。

上线日记

时间 内容 更新者
2020-10-26 正式开发 Himit_ZH
2021-04-10 首次上线测试 Himit_ZH
2021-04-15 判题调度2.0解决并发问题 Himit_ZH
2021-04-16 重构解耦JudgeServer判题逻辑,添加部署文档 Himit_ZH
2021-04-19 加入rsync实现评测数据同步,修复一些已知的BUG Himit_ZH
2021-04-24 加入题目模板,修改页面页脚 Himit_ZH
2021-05-02 修复比赛后管理员重判题目导致排行榜失效的问题 Himit_ZH
2021-05-09 添加公共讨论区,题目讨论区,比赛评论 Himit_ZH
2021-05-12 添加评论及回复删除,讨论举报,调整显示时间。 Himit_ZH
2021-05-16 完善权限控制,讨论管理员管理,讨论删除与编辑更新。 Himit_ZH
2021-05-22 更新docker-compose一键部署,修正部分bug Himit_ZH
2021-05-24 判题调度乐观锁改为悲观锁 Himit_ZH
2021-05-28 增加导入导出题目,增加用户页面的最近登录,开发正式结束,进入维护摸鱼 Himit_ZH
2021-06-02 大更新,完善补充前端页面,修正判题等待超时时间,修补一系列bug Himit_ZH
2021-06-07 修正特殊判题,增加前台i18n Himit_ZH
2021-06-08 添加后台i18n,路由懒加载 Himit_ZH
2021-06-12 完善比赛赛制,具体请看在线文档 Himit_ZH
2021-06-14 完善后台管理员权限控制,恢复CF的vjudge判题 Himit_ZH
2021-06-25 丰富前端操作,增加POJ的vjudge判题 Himit_ZH

以下截图页面均支持中英文国际化,点击底部的转换即可全网站转换,包括后台管理,同时浏览器会记住本次选择的语言

首页页面

首页

首页英文

在这里插入图片描述

题目列表页

题目列表页

题目详情页

题目详情页

比赛列表页

比赛列表页

比赛详情首页

比赛详情页

比赛排行榜

比赛排行榜

提交列表页

在这里插入图片描述

排行榜

hoj9

公共讨论区

公共讨论区

评论组件

评论组件

个人信息页

个人信息

个人设置页

个人设置页

管理后台首页

hoj5

部分手机端显示

评论区

You might also like...

V部落,Vue+SpringBoot实现的多用户博客管理平台!

V部落,Vue+SpringBoot实现的多用户博客管理平台!

扫码加微信(微信ID:a_java_boy2),备注V部落,进群讨论。 V 部落姊妹篇:https://github.com/lenve/vhr V部落是一个多用户博客管理平台,采用Vue+SpringBoot开发。 项目演示地址: http://45.77.146.32:8081/index.ht

Jan 6, 2023

芋道 mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。

芋道 mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。

[toc] 友情提示:近期在升级和优化该项目,建议先 Star 本项目。主要在做几个事情: 1、微服务技术选型以 Spring Cloud Alibaba 为中心。 2、修改项目分层,并合并部分服务,简化整体服务的复杂性。 3、将管理后台从 React 重构到 Vue 框架。 交流群:传送门 前言

Jan 6, 2023

循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2,博客Spring系列源码:https://mrbird.cc

Spring 系列教程 该仓库为个人博客https://mrbird.cc中Spring系列源码,包含Spring Boot、Spring Boot & Shiro、Spring Cloud,Spring Boot & Spring Security & Spring Security OAuth2

Jan 6, 2023

一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。希望胖友小手一抖,右上角来个 Star,感恩 1024

一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。希望胖友小手一抖,右上角来个 Star,感恩 1024

友情提示:因为提供了 50000+ 行示例代码,所以艿艿默认注释了所有 Maven Module。 胖友可以根据自己的需要,修改 pom.xml 即可。 一个涵盖六个主流技术栈的正经仓库: 《Spring Boot 专栏》 《Spring Cloud Alibaba 专栏》 《Spring Clou

Dec 31, 2022

一个小而美的低代码全栈开发平台,一键生成后端api接口+前端页面代码+在线接口文档,节省50%的前后端开发的工作量。基于springboot +mybatis+spring security+vue 技术栈

YOMA [toc] 一个小而美的低代码全栈开发平台,一键生成后端api接口+前端页面代码+在线接口文档,节省50%的前后端开发的工作量,平台代码100%开源。平台适用于企业信息化、政务、中小型互联网等项目 平台采用前后端分离架构,基于如下流行的开源框架,易上手+便于后期维护 后端:https://

Dec 9, 2022

基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统

基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统

平台简介 芋道,一套全部开源的企业级的快速开发平台,毫无保留给个人及企业免费使用。 有任何问题,或者想要的功能,可以在 Issues 中提给艿艿。 前端采用 vue-element-admin。 后端采用 Spring Boot、MySQL、Redis。 权限认证使用 Spring Security

Jan 1, 2023

企业级 Spring Cloud Alibaba 微服务脚手架,nacos 配置中心、Oauth2认证与鉴权、Docker 容器化部署,开发环境一键式脚本安装,10分钟即可构建

企业级 Spring Cloud Alibaba 微服务脚手架,nacos 配置中心、Oauth2认证与鉴权、Docker 容器化部署,开发环境一键式脚本安装,10分钟即可构建

云龙 Cloud Dragon 适合于企业级别的微服务开发脚手架,功能齐全,开箱即用,部署快捷 目前项目处于开发阶段,部分功能已经可以使用,后续会逐步完成其他规划内容,并完善项目文档,如果你在使用过程中遇到任何问题,可以通过 QQ 群聊联系我,请戳这里 加入群聊。 📚 项目介绍 Cloud Dra

Dec 19, 2022

Alibaba Cloud Dedicated KMS Transfer SDK for Java can help Java developers to migrate from the KMS keys to the Dedicated KMS keys.

Alibaba Cloud Dedicated KMS Transfer SDK for Java Alibaba Cloud Dedicated KMS Transfer SDK for Java can help Java developers to migrate from the KMS k

May 12, 2022

Spring for GraphQL demo project with a Vue frontend.

Spring Books - Hello GraphQL This is a demo project that will introduce you to [https://spring.io/projects/spring-graphql](Spring for GraphQL). The Sp

Dec 2, 2022
Comments
  • 登录的账号和实际登上的号不是同一个

    登录的账号和实际登上的号不是同一个

    比如我登root,点开我的首页显示的是别人的首页,提交记录啥的也全是别人的。刚部署完这个问题不是很频繁,最近几乎每次隔一段时间重新进入网站都会出现点开首页是别人或者显示uid不能为空(这个估计是因为别人串到我的账号上去了,所以我这进来再看首页就是空的),重新登录得过两分钟才恢复正常,求问大佬这个可能是因为什么原因,该怎么调,最近几乎每个人隔一段时间就会串,每次进都得重新登录等两分钟

    opened by miaostudy 16
  • 我想把一个用户提升为管理员的时候在后台操作时候提示服务器异常

    我想把一个用户提升为管理员的时候在后台操作时候提示服务器异常

    进docker看了下日志,提示如下信息。不知道是不是我操作不对

    2021-10-05 17:16:05 [http-nio-6688-exec-3] ERROR hoj - 系统通用异常-------------->org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'null' in 'class top.hcode.hoj.pojo.entity.UserRole' at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:78)

    bug 
    opened by madhat386 3
  • keep the quantity and order consistent

    keep the quantity and order consistent

    • keep the quantity and order consistent between admin/en-US.js and admin/zh-CN.js
    • keep the quantity and order consistent between oj/en-US.js and oj/zh-CN.js
    opened by evil0th 1
  • 邮箱识别有问题

    邮箱识别有问题

    前端所用正则不能识别域名后缀有4个字母的.. image

    代码位置 https://github.com/HimitZH/HOJ/blob/b1ee8769edc092a83d4ee0149c250030d08a3028/hoj-vue/src/components/oj/common/Register.vue#L227

    可以使用这里的正则 https://github.com/dromara/hutool/blob/c36f9f55db1c271966863c1dd397a9f29678e837/hutool-core/src/main/java/cn/hutool/core/lang/RegexPool.java#L51

    bug 
    opened by Cyl18 1
Releases(v4.5)
  • v4.5(Nov 14, 2022)

    1. Increase the focus mode of training, contest and group problems.
    2. Reconstruct back-end authentication process and dynamic configuration of nacos.
    3. Fix known remote judge bugs such as hdu and poj.
    4. Optimize the homepage layout, and add "statistics submitted in the last week" and "latest problems" modules.
    5. Fix some bug known to the group.
    Source code(tar.gz)
    Source code(zip)
  • v4.4(Oct 4, 2022)

    1. Add: edit or add the discussion category
    2. Add: contest award settings
    3. Add: ACM contest support scroll board
    4. Optimization: the synchronous display of accounts among multiple tab pages in the front-end browser
    5. Fix: some known bugs
    Source code(tar.gz)
    Source code(zip)
  • v4.3(Aug 29, 2022)

    1. Add support for OI problem test case subtask function
    2. Add support for ACM problem test case 'ergodic without error' function
    3. Fix known bugs
    Source code(tar.gz)
    Source code(zip)
  • v4.2(Aug 21, 2022)

  • v4.1(Jul 20, 2022)

    1. fix frontend ui bug
    2. fix get atcoder problem id format bug
    3. fix the problem that HDU submission frequency limit does not cause submit failed
    4. tip: This version will be in a long-term stable operation version
    Source code(tar.gz)
    Source code(zip)
  • v4.0(May 29, 2022)

  • v3.9(May 10, 2022)

  • v3.8(Apr 20, 2022)

  • v3.7(Apr 1, 2022)

  • v3.6(Mar 12, 2022)

  • v3.5(Mar 3, 2022)

    1. 支持oi比赛选用排行榜计分制:最近得分、最高得分
    2. 判題端不再保存用户程序输出文件,避免磁盘消耗过快
    Source code(tar.gz)
    Source code(zip)
  • v3.4(Feb 25, 2022)

  • v3.3(Feb 19, 2022)

  • v3.1(Jan 4, 2022)

  • v3.0(Dec 26, 2021)

  • v2.9(Dec 10, 2021)

    1. 增加比赛关注队伍
    2. 增加比赛打星队伍
    3. 增加比赛外榜
    4. 增加比赛排行榜个人优先置顶
    5. 增加比赛打印提交为30秒限制
    Source code(tar.gz)
    Source code(zip)
  • v2.8(Dec 9, 2021)

  • v2.7(Nov 4, 2021)

  • v2.6(Oct 6, 2021)

    1. 美化比赛排行榜,加入头像,性别(女队),学校
    2. 增加对FPS题目格式导入的支持
    3. 重构文件上传的项目结构
    Source code(tar.gz)
    Source code(zip)
  • v2.5(Oct 4, 2021)

    1. 增加站内消息系统——评论、回复、点赞、系统通知的消息,异地登录通知、权限变更通知。
    2. 改变题目评测“自动去除文末空白符”为“自动去除每行行末空白符”
    3. 前端页面在数据为空时的显示优化、区域加载显示。
    Source code(tar.gz)
    Source code(zip)
  • v2.4(Sep 21, 2021)

  • v2.3(Sep 4, 2021)

  • v2.2(Aug 14, 2021)

  • v2.1(Aug 8, 2021)

    增加比赛公告弹窗提示、OI排行榜计算公式:(score0.1+diffculty2)*(ac_testcase/sum_testcase)、比赛列表排序,优先展示未开始和正在进行的比赛、后台题目分OJ显示、其它oj题目(远程判题)支持在ACM比赛中和OI比赛中使用

    Source code(tar.gz)
    Source code(zip)
  • v2.0(Jul 7, 2021)

  • v1.9(Jun 25, 2021)

  • v1.8(Jun 14, 2021)

  • v1.7(Jun 4, 2021)

  • v1.2(Jun 2, 2021)

    改变题目做题数据统计方式,排行榜统计方式,删除problem_count表,修正judgeserver的部分参数,目前codeforces的VJ不可使用。

    Source code(tar.gz)
    Source code(zip)
  • v1.1(May 28, 2021)

    增加qdoj题目的导入,同时增加前端首页的修改,调整判题等待超时时间,修复bug、完善前端目前,唯CF的VJ判题暂不可用。

    Source code(tar.gz)
    Source code(zip)
Owner
Himit_ZH
HOJ主页 :https://www.hcode.top
Himit_ZH
Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.

Spring Cloud Alibaba A project maintained by Alibaba. See the 中文文档 for Chinese readme. Spring Cloud Alibaba provides a one-stop solution for distribut

Alibaba 24.4k Jan 1, 2023
基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。持续更新中

快速开始 先决条件 首先本机先要安装以下环境,建议先学习了解springboot和springcloud基础知识。 git java8 maven 开发环境搭建 linux和mac下可在项目根目录下执行 ./install.sh 快速搭建开发环境。如要了解具体的步骤,请看如下文档。 具体步骤如下:

zhoutaoo 7.9k Jan 6, 2023
基于WebSocket实现Web端聊天系统【Vue+SpringBoot】

本项目里面的demo后端都是基于Java,前端基于Vue,数据库MySql。 一、运行demo 下载代码后,先配置好yml文件:数据库和微信号appid、secret(other包下面有数据库)。

xdxTao 69 Jan 6, 2023
🎧 Vue + SpringBoot + MyBatis 音乐网站

?? Vue + SpringBoot + MyBatis 音乐网站

尹宏伟 3.4k Dec 31, 2022
A modular, high performance, headless e-commerce(ecommerce) platform built with Java,Springboot, Vue.

What is Shopfly? Shopfly is modular, high performance, headless e-commerce(ecommerce) platform built with Java,Springboot, Vue. Architecture Shopfly i

Shopfly 31 Jul 17, 2022
A modular, high performance, headless e-commerce(ecommerce) platform built with Java,Springboot, Vue.

What is Shopfly? Shopfly is modular, high performance, headless e-commerce(ecommerce) platform built with Java,Springboot, Vue. Architecture Shopfly i

Shopfly 29 Apr 25, 2022
A personal blog based on Vue+SpringBoot+MySql+Redis+Shiro+JWT

项目:Vue-SpringBoot-PersonalBlog 个人博客网址:http://www.huchao.vip/blogs CSDN:毛_三月 介绍 一个基于SpringBoot + Vue+MybatisPlus+Shiro+JWT+Redis开发的前后端分离博客项目,带有超级详细开发文档

Chao. Hu 26 Dec 20, 2022
The open source CyborgFlow project is an out-of-the-box (OOTB) solution to perform load test on your online system.

CyborgFlow CyborgFlow provides an out-of-the-box (OOTB) solution to perform load test on your online system, powered by Apache APISIX, Apache SkyWalki

SphereEx 70 Nov 30, 2022
【多模块微服务脚手架平台——Ancba】前后端分离架构SpringBoot 2.x、SpringCloud、SpringAdmin、Spring Security、Mybatis-plus、(Shiro)、JWT、Feign、Nacos、Knif4j等。

Ancba 打造Blog.Core项目的SpringBoot微服务版,但是更强大 ?? Ancba (Another New CLI By Alacrity) 另一个全新的敏捷脚手架(单体/模块化/微服务都可支持)。 核心知识点与进度 ?? 在 ..../resources/application-

ansonzhang 35 Nov 29, 2022
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。

mall-swarm 友情提示 快速体验项目:在线访问地址。 全套学习教程:《mall学习教程》。 Spring Cloud全套教程:《SpringCloud学习教程》。 专属学习路线:学习不走弯路,整理了套非常不错的《mall专属学习路线》。 项目交流:想要加群交流项目的朋友,可以加入mall项目

macro 9.7k Jan 3, 2023