项目简介
本项目是一个基于Spring Boot和Vue的在线评测系统(Online Judge System),为编程竞赛和练习打造了高效、稳定的评测平台。系统支持C、C++、Java、Python等多种编程语言,具备题目分类、题解、比赛组织、群组管理、积分排名和用户能力评价等功能。
项目的主要特性和功能
题目管理
- 题目分类:为题目添加标签,便于用户按难易程度和内容筛选。
- 题目题解:设置解题页面,用户可学习或分享做题思路与代码。
比赛管理
- 线上比赛:支持管理员创建线上比赛并设置题目。
- 比赛排名:实时更新比赛排名,展示用户得分与排名情况。
用户管理
- 群组功能:老师可创建群组管理学生。
- 积分排名:题目对应分数,用户做题获积分,系统依积分排名。
- 用户能力评价:根据用户通过的题目评估学习状况。
其他功能
- Forum:用户可发布文章分享经验和技巧。
- Markdown支持:支持Markdown语法,方便编写题解和文章。
安装使用步骤
环境准备
- 服务器系统:Linux
- JDK版本:JDK 8+
源代码部署
- 复制项目代码到本地。
- 进入项目目录:
sh cd onlinejudge
- 使用Gradle打包项目:
sh ./gradlew bootJar
- 运行打包后的JAR文件:
sh java -jar build/libs/onlinejudge.jar
- 配置文件目录应与JAR包在同一目录下,配置文件为YML格式。
Docker部署
- 设置Docker镜像地址:
sh export DOCKER_IMG=registry.cn-hangzhou.aliyuncs.com/jinmingyi/onlinejudge
- 拉取Docker镜像:
sh docker pull $DOCKER_IMG
- 运行Docker容器:
sh docker run -d --name onlinejudge \ -p $PORT:8080 \ -v $OJ_VOLUME:/onlinejudge \ -e MYSQL_USER=$MYSQL_USER \ -e MYSQL_PASSWORD=$MYSQL_PASSWORD \ -e MYSQL_URL=db:3306/oj \ -e REDIS_URL=redis \ -e JUDGER_SERVICE=http://judgerserver:12345/judge \ $DOCKER_IMG
自定义配置
可修改YML配置文件调整系统设置,如数据库连接、Redis配置等。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】