littlebot
Published on 2025-04-03 / 4 Visits
0

【源码】基于Spring Boot和MyBatis Plus的在线判题系统

项目简介

本项目是基于Spring Boot和MyBatis Plus框架搭建的在线判题系统,为编程竞赛、在线课程以及编程练习提供服务。用户能提交代码并即时获取判题结果,系统支持多种编程语言,具备代码评测、权限校验、日志记录、定时任务等丰富功能。

项目的主要特性和功能

  1. 代码评测:支持用户提交代码,系统自动评测并返回结果,涵盖Java、C、C++、Python等多语言,有默认评测策略及针对Java的特殊策略。
  2. 权限管理:借助自定义注解和AOP拦截器实现权限校验,支持用户、管理员、被封号用户等角色。
  3. 日志记录:通过AOP拦截器记录HTTP请求的详细信息,包含请求起止时间、URL、参数等。
  4. 定时任务:定时将数据库中的帖子数据增量同步到Elasticsearch。
  5. 跨域配置:通过配置类实现跨域资源共享(CORS),允许不同源的请求。
  6. 文件管理:支持将文件上传到腾讯云对象存储(COS),并返回文件访问地址。
  7. 用户管理:支持用户注册、登录、注销,用户可更新个人信息,管理员能管理用户信息。
  8. 帖子管理:用户可发布、编辑、删除帖子,可收藏和点赞帖子,管理员能管理所有帖子。
  9. 题目管理:管理员可发布、编辑、删除题目,用户可查看、提交题目,系统自动评测并返回结果。

安装使用步骤

环境准备

  • 安装Java 8或更高版本。
  • 安装MySQL数据库,创建相应数据库和表。
  • 安装Elasticsearch用于帖子数据搜索和同步。
  • 配置腾讯云对象存储(COS),获取访问密钥和存储桶信息。

下载源码

从指定位置下载项目源码文件。

配置文件

修改application.propertiesapplication.yml文件,配置数据库连接、Elasticsearch连接、腾讯云COS等信息。

启动项目

在项目根目录下执行以下命令启动项目: bash mvn spring-boot:run

访问系统

项目启动后,通过浏览器访问系统的API接口,进行用户注册、登录、代码提交等操作。

测试

使用Postman或其他API测试工具,测试系统的各项功能是否正常。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】