作者:猫十二懿
本项目是基于 Spring Boot + Spring Cloud Alibaba 微服务 + Docker + RabbitMQ + Vue 3 的 编程算法题目在线评测系统
(简称OJ)。
在线访问:http://oj.kongshier.top/
源项目来自编程导航(https://yupi.icu)
Cat OJ(Cat Online Judge)系统是一个在线算法评测系统,用户可以选择题目、编写代码并提交代码进行评测,而且是高效、稳定的 OJ
在线判题评测系统,它能够根据用户提交的代码、出题人预先设置的题目输入和输出用例,进行编译代码、运行代码、判断代码运行结果是否正确。
application.yaml
的信息,比如数据库、Redis、RabbitMQ等ShierApplication
程序进行运行项目判题服务:获取题目信息、预计的输入输出结果,返回给主业务后端:用户的答案是否正确
代码沙箱:只负责运行代码,给出程序运行的结果,不用管用户提交的程序是否正确。 因此 判题服务 和 代码沙箱 实现了解耦
核心流程时序图
├─sql // 项目的SQL文件:创建数据库和数据表
├─src
├─main
├─java
│ └─com
│ └─shieroj
│ ├─annotation // 权限控制
│ ├─aop //AOP切面
│ ├─common // 通用类
│ ├─config // 项目配置
│ ├─constant // 项目常量
│ ├─controller // 前端请求
│ ├─exception // 项目异常
│ ├─judge // 判题服务
│ │ ├─codesandbox // 代码沙箱
│ │ │ ├─impl
│ │ │ └─model
│ │ └─strategy
│ ├─manager // 管理
│ ├─mapper // 数据访问(操作数据库)
│ ├─model // 项目实体
│ │ ├─dto
│ │ │ ├─file
│ │ │ ├─question
│ │ │ ├─questionsumbit
│ │ │ └─user
│ │ ├─entity
│ │ ├─enums
│ │ └─vo
│ ├─mq // 消息队列
│ ├─service // 项目服务
│ │ └─impl
│ └─utils // 项目工具
└─resources // 项目资源配置
└─mapper
管理员修改用户信息
点击头像即可重新上传用户头像
❤️🔥❤️🔥❤️🔥需要项目请评论区留言。