# ai-oj **Repository Path**: ochiamaluo/ai-oj ## Basic Information - **Project Name**: ai-oj - **Description**: 个前后端分离的智能题目在线评测系统,前端使用Vite + Vue3 + ElementUI,后端使用SpringBoot + Mybatis-plus,支持编程、选择、判断等多种题型,支持 AI 自动生成题目和测试用例 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 4 - **Created**: 2024-10-25 - **Last Updated**: 2025-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SpringBoot, Vue, OJ, AI ## README

Snipaste_2025-04-24_21-22-08

SageCode-智能题目在线评测系统

## 项目介绍 SageCode,一个前后端分离的智能题目在线评测系统,前端使用**Vite + Vue3 + ElementUI**,后端使用**SpringBoot** + **Mybatis-plus**,支持编程、选择、判断等多种题型,支持 AI 自动生成题目和测试用例。 - 基于 Vue3+ElementUI 实现了在线做题、题目检索和管理、提交列表、用户登录等界面,并实现了响应式布局使在手机端也有良好体验。 - 使用 Java Runtime 实现了程序的编译和运行,使用守护线程实现了对进程的超市终端,使用 黑白名单+字典树 的方式实现了对敏感操作的限制。 - 使用 工厂+策略模式 实现了对不同题型、不同编程语言的支持。 - 为防止判题操作执行时间过长,采用异步的方式,使用 Disruptor 消息队列,并使用 WebSocket 实时获取判题状态。 ## 技术选型 **前端** \- Vue 3 \- Vite 脚手架 \- ElementUI \- Axios 请求库 \- monaco-editor \- bytemd **后端** \- JAVA SpringBoot 框架 \- MySQL 数据库 \- Mybatis-Plus \- WebSocket ## 贡献代码 开源项目离不开大家的支持,如果您有好的想法,遇到一些 **BUG** 并修复了,欢迎小伙伴们提交 **Pull Request** 参与开源贡献! 1. **fork** 本项目到自己的 **repo** 2. 把 **fork** 过去的项目也就是你仓库中的项目 **clone** 到你的本地 3. 修改代码 4. **commit** 后 **push** 到自己的库 5. 发起**PR**( **pull request**) 请求,提交到 **dev** 分支 6. 等待作者合并