MCPcopy Index your code
hub / github.com/HimitZH/HOJ

github.com/HimitZH/HOJ @v4.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.6 ↗ · + Follow
3,767 symbols 11,950 edges 732 files 853 documented · 23%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Hcode Online Judge(HOJ)

logo

An open source online judge system base on SpringBoot, Springcloud Alibaba and Vue.js !

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

简体中文 | English

Overview

  • One click deployment based on Docker and Docke-compose
  • Multi-language support:C、C++、C#、Python、PyPy、Go、Java、JavaScript、PHP
  • Remote judge support: HDU、POJ、Codeforces、GYM、AtCoder、SPOJ
  • Perfect evaluation mode:General 、Special、Interactive 、Self-test、Subtask、File IO
  • Perfect contest function:Star team、 Attention team、 External Rank、Scroll Board
  • Support group and discussion area function
Online Demo Documents Github&Gitee QQ Group
https://hdoi.cn https://docs.hdoi.cn https://github.com/HimitZH/HOJ https://gitee.com/himitzh0730/hoj 598587305(Full)、743568562

Installation

Please running HOJ on the following platforms:

  • Ubuntu 18.04 and above
  • CentOS Linux release 8.0 and above

And the server configuration requirements for stable operation of HOJ:

  • CPU: 2 cores and above
  • Memory: 4G and above

For installation options and troubleshooting tips, see HOJ Documents.

One click deployment Base On Docker & Docker-compose

If your system already has Docker and Docker-compose and want to quickly taste the functions of the HOJ, you can deploy it quickly according to the following commands:

sudo apt-get update && sudo apt-get install -y vim curl git

sudo apt-get update

git clone https://github.com/HimitZH/HOJ-Deploy.git && cd hoj-deploy && cd standAlone

# Change some configuration such as password.
vim .env

sudo docker-compose up -d

According to the network speed, the setup can be completed automatically in about 5 to 20 minutes without manual intervention.

Wait for the command execution to complete, and then run docker ps. When you see that the status of all the containers does not have unhealthy , it means HOJ has started successfully.

Browser Support

Modern browsers(chrome, firefox) and Internet Explorer 10+, also supports mobile browser.

Support & Contribution

  • If you think HOJ is helpful to you, please give the project a star.
  • If you found any bug, please feel free to contact us QQ Group: 598587305 or issue.
  • Thanks to everyone that contributes to this project.

License

MIT

Screenshots

Note: you can switch languages at the bottom of the page. (Chinese & English)

1. Home

首页英文

2. Station message

System notification

站内消息系统

Reply to me

站内消息系统

3. Problem

Problem List

题目列表

Problem Details

题目详情页

4. Training

Training List

训练列表页

Trianing Problem List

训练题目列表页

5. Contest

Contest List

比赛列表页

Contest Details

比赛详情页

Contest Problem List

比赛题目列表

Contest Rank

  • ICPC/ACM

比赛排行榜

  • OI / IOI

oi排行榜

  • Scroll Board

在这里插入图片描述

6. Submission

Submission List

在这里插入图片描述

Submission Details

在这里插入图片描述

7. Rank

排行榜

8. Group

Group List

团队列表页

Group Details

团队题目列表页

9. Disscussion

Disscussion List

公共讨论区

Comment

评论组件

10. User Info

User Home

个人首页

Change User Info

个人设置

11. Admin

Admin Home Page

管理后端

12. Mobile

手机端

评论区

Extension points exported contracts — how you extend this code

ProblemMapper (Interface)
Mapper 接口 @author Himit_ZH @since 2020-10-23 [19 implementers]
hoj-springboot/JudgeServer/src/main/java/top/hcode/hoj/mapper/ProblemMapper.java
ProblemMapper (Interface)
Mapper 接口 @author Himit_ZH @since 2020-10-23 [19 implementers]
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/mapper/ProblemMapper.java
ProblemCountMapper (Interface)
Mapper 接口 @author Himit_ZH @since 2020-10-23 [2 implementers]
hoj-springboot/JudgeServer/src/main/java/top/hcode/hoj/mapper/ProblemCountMapper.java
TrainingMapper (Interface)
@Author: Himit_ZH @Date: 2021/11/19 22:03 @Description: [11 implementers]
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/mapper/TrainingMapper.java
ContestEntityService (Interface)
服务类 @author Himit_ZH @since 2020-10-23 [2 implementers]
hoj-springboot/JudgeServer/src/main/java/top/hcode/hoj/dao/ContestEntityService.java
AdminAnnouncementService (Interface)
@Author: Himit_ZH @Date: 2022/3/9 22:11 @Description: [10 implementers]
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/service/admin/announcement/AdminAnnouncementService.java
ProblemEntityService (Interface)
服务类 @author Himit_ZH @since 2020-10-23 [2 implementers]
hoj-springboot/JudgeServer/src/main/java/top/hcode/hoj/dao/ProblemEntityService.java
AdminAccountService (Interface)
@Author: Himit_ZH @Date: 2022/3/9 10:10 @Description: [7 implementers]
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/service/admin/account/AdminAccountService.java

Core symbols most depended-on inside this repo

put
called by 998
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/shiro/ShiroCache.java
set
called by 481
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/utils/RedisUtils.java
get
called by 438
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/utils/RedisUtils.java
getMessage
called by 435
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/advice/GlobalExceptionAdvice.java
errorResponse
called by 410
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/common/result/CommonResult.java
equals
called by 314
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/pojo/bo/Pair_.java
successResponse
called by 260
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/common/result/CommonResult.java
getStatus
called by 254
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/utils/Constants.java

Shape

Method 2,498
Function 551
Class 508
Interface 187
Enum 23

Languages

Java85%
TypeScript15%

Modules by API surface

hoj-vue/src/common/api.js250 symbols
hoj-springboot/JudgeServer/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java249 symbols
hoj-springboot/DataBackup/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java249 symbols
hoj-scrollBoard/js/jquery.min.js75 symbols
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/utils/Constants.java52 symbols
hoj-scrollBoard/js/scrollboard.js42 symbols
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/utils/RedisUtils.java37 symbols
hoj-springboot/JudgeServer/src/main/java/top/hcode/hoj/util/Constants.java25 symbols
hoj-scrollBoard/bootstrap/js/bootstrap.js22 symbols
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/controller/admin/AdminContestController.java21 symbols
hoj-vue/src/router/adminRoutes.js20 symbols
hoj-springboot/DataBackup/src/main/java/top/hcode/hoj/advice/GlobalExceptionAdvice.java20 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add HOJ \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact