极客判产品系统

我要开发同款
不白白糖2026年07月23日
2阅读

技术信息

语言技术
JavaHTML5CSSVue自动化测试
系统类型
Web
行业分类
教育校园内容平台

作品详情

行业场景

1、立项原因:解决个人及校园同学的算法个性化指导需求,借助AI来完善OJ平台的桎梏
2、业务背景:在当时国内外OJ平台中,并无与AI编程助手结合的案例,如有需要借助LLM来回答一些问题的时候需要跳转平台,在这个场景下开发了“极客判”

功能介绍

### 1. 功能模块

- **用户与登录**:C 端手机号 + 短信验证码登录(新号自动注册)、B 端账号密码(BCrypt);个人中心、头像上传。
- **题库管理**:B 端录入题目(富文本描述 + 默认代码 + 动态测试用例);C 端题库列表、难度筛选、热门题榜。
- **在线编程**:在线编写 Java 代码,提交时自动拼接 main 函数与测试用例。
- **自动判题**:Docker 沙箱编译执行,逐条用例严格比对输出,校验内存/时间限制并计分。
- **竞赛系统**:报名参赛、限时答题倒计时、实时排名、未完赛/历史竞赛、结束后练习模式。
- **AI 答疑助手**:「小白」专注 Java 算法答疑,流式打字机输出、多轮记忆、会话管理。
- **站内消息 / 后台管理**:系统通知;B 端题目 CRUD、竞赛生命周期管理、用户拉黑/解禁。

### 2. 主要功能描述

平台核心是**在线编程 + 自动判题闭环**:用户在线编写代码并提交,系统通过 Docker 沙箱隔离编译执行,将运行结果与测试用例逐一严格比对,自动判定通过/未通过/超时/超内存并计分,并通过 RabbitMQ 异步判题应对峰值提交与并发;竞赛模块提供从报名、限时答题到自动结算排名的完整赛制,AI 助手以流式对话提供实时讲解与代码答疑,三者共同构成「学—练—赛—问」的学习闭环。

项目实现

1. 我负责的工作(独立完成全栈开发)

- **后端**:Spring Cloud Alibaba 微服务架构设计与编码,含 5 个业务服务(system/friend/judge/job/chatbot)+ 网关 + 8 个公共模块;
- **前端**:B 端管理后台与 C 端用户平台两套 Vue 3 应用,从路由、鉴权拦截、在线编辑器集成到 AI 流式渲染全部独立开发。2. 技术栈
- **后端**:Java 17、Spring Boot 3.2、Spring Cloud Alibaba(Nacos 注册+配置中心)、Spring Cloud Gateway、OpenFeign、MyBatis-Plus、MySQL、Redis、Elasticsearch、RabbitMQ、JWT、XXL-Job、Spring AI、阿里云 OSS/SMS、Docker。
- **前端**:Vue 3(Composition API)、Vite 7、Element Plus、Vue Router、Axios、Ace Editor、SCSS。
3. 亮点与难点
- **Docker 沙箱 + 容器池化**:`network=none` + 只读根文件系统 + 内存/CPU 限制实现安全隔离,并用 `BlockingQueue` 容器池复用容器,提升判题并发吞吐。
- **MQ 异步判题解耦**:RabbitMQ work queue 将提交与判题解耦,前端按版本号轮询结果,承接峰值提交。
- **网关统一鉴权 + 身份隔离**:单 Filter 完成 JWT 解析 + Redis 会话校验,按 URL 前缀隔离管理员/普通用户。
- **多数据层协同**:MySQL 持久化 + ES 检索 + Redis 多级缓存,改题时三处同步。
- **Spring AI 流式对话**

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论