littlebot
Published on 2025-04-17 / 0 Visits
0

【源码】基于Spring Boot和Vue的在线编程算法评测系统

项目简介

本项目是一个基于Spring Boot + Spring Cloud Alibaba微服务 + Docker + RabbitMQ + Vue 3的编程算法题目在线评测系统。用户能在该系统中选择题目、编写并提交代码进行评测,系统会依据用户提交的代码以及出题人预设的题目输入和输出用例,进行代码编译、运行,并判断代码运行结果的正确性。

项目的主要特性和功能

主要特性

  • 权限校验:对用户权限进行校验,确保不同操作由有相应权限的用户执行。
  • 代码沙箱:构建隔离、安全的环境运行用户代码,避免代码藏毒影响系统,同时限制用户程序占用资源。
  • 判题规则:通过题目用例比对来验证结果。
  • 任务调度:利用消息队列执行判题,合理分配服务器资源,让用户按顺序依次判题。

主要功能

  • 题目模块:管理员可创建、删除、修改和管理题目,用户和管理员都能搜索题目、在线做题并提交题目代码,系统使用消息队列防止判题服务执行时间过长,用死信队列处理判题失败的题目。
  • 用户模块:支持用户注册、登录,管理员可进行用户管理,采用令牌桶限流算法,使用Redisson实现分布式限流,限制用户每秒只能提交一次题目。
  • 判题模块:能判断提交判题结果是否正确,处理内存溢出、安全性、超时等错误,通过代码沙箱执行代码并返回执行信息,还提供独立的开放接口。

安装使用步骤

  1. 若已下载本项目的源码文件,下载的文件包含brainstorming-backendbrainstorming-code-sandboxbrainstorming-frontend-react
  2. 使用IDEA代码编辑器打开项目,等待依赖下载完成。
  3. 修改配置文件application.yaml中的信息,例如数据库、Redis、RabbitMQ等相关配置。
  4. 修改完成后,通过ShierApplication程序运行项目。

下载地址

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