广州大学ACM算法竞赛集训队开发的在线评测系统
项目选型: SpringCloud + SpringBoot + MySQL + Mybatis + Redis + Nginx
- 微服务架构设计,各模块功能逻辑独立,支持赛时伸缩扩展评测机
- 基于 Spring Cloud 和 consul 完成轻量化,跨语⾔的微服务治理。
- 实现评测服务调度负载均衡、多任务提交、多线程评测实现赛时高并发评测。
- 基于Go-Judge 评测沙箱编译运行代码
- 比赛服务多样性,支持多语言、多评测模式、多赛制
- 集成用户管理、比赛模块、题目模块、气球派发、代码打印、座位生成、工作分配、滚榜、获奖派发等功能。
- 容器级交付,公有云或物理机,使用Docker和Docker-Compose进行服务编排与部署,实现一键化部署
当前项目仍在持续迭代更新中,未给出稳定版本,主分支代码可能随时改变
推荐部署环境: Ubuntu 22.04.4 LTS
机器推荐配置: 4核8G
一键化部署
git clone https://github.com/ChenXuRiYue/GZHUOJ-backend-java.git
cd GZHUOJ-backend-java
chmod u+x build.sh
./build.sh
ChenXuRiYue Initiator, Backend, Frontend |
LJCzzzzZ Initiator, Backend |
sldpzshdwz Backend |
KawaiiNahida Go-judge Owner |
Mikeklklkl Frontend |