YOJ在线判题平台·项目总览

一、项目介绍

这是一个基于Spring Boot + Spring Cloud微服务 + Vue3 + Docker的算法题目在线评测系统。

在系统前台,管理员可以创建、管理题目;用户可以自由搜索题目、浏览题目列表、编写并提交代码。

在系统后端,能够根据题目预设的测试用例在代码沙箱中对代码进行编译、运行、评测结果。

其中,代码沙箱可以作为独立服务,提供给其他开发者使用。

二、核心业务流程

三、项目功能梳理

基础功能

用户模块

  • 用户注册
  • 用户登录(账号密码)
  • 个人信息管理(修改)
  • 【管理员】管理用户 - 增删改查

题目模块

  • 查看题目列表
  • 题目搜索
  • 查看题目详情(进入做题页面)
  • 【管理员】管理题目 - 增删查改

特色功能

代码沙箱

  • 编译代码
  • 运行代码

判题服务

  • 评测代码运行结果

四、技术选型

前端

  • Vue3 + Vite脚手架
  • Arco Design组件库
  • Vue Router路由管理
  • Pinia全局状态管理
  • Axios + OpenAPI前端代码生成器

后端

  • Java 8 + Spring Boot框架
  • MySQL数据库 + MyBatis-Plus框架 + MyBatis X
  • Spring Cloud Alibaba微服务框架
    • Nacos注册中心
    • OpenFeign客户端调用
    • GateWay网关
  • Docker容器化技术 + linux系统

五、架构设计

系统架构设计

暂时是单体架构,等到功能开发完成后做微服务改造

判题机设计