# CodeMasterOJ **Repository Path**: cabbage12/oj ## Basic Information - **Project Name**: CodeMasterOJ - **Description**: 算法培训平台(发布题解+oj) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master_git - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-12 - **Last Updated**: 2025-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: OJ, Java ## README # OnlineJudge 在线判题系统 **项目地址** :http://oj.cabbagehp.online:82 ## 项目介绍 基于 SpringBoot + Vue3 的在线判题系统,包含完整的前后端实现。系统采用现代化技术栈,支持代码提交、判题、比赛管理、博客系统等核心功能。 ## 技术架构 - **后端技术栈** - SpringBoot 2.x - MyBatis Plus - MySQL - Docker - RabbitMQ - Redis - MinIO - **前端技术栈** - Vue3 + TypeScript - Vite 构建工具 ## 系统模块 - **核心判题模块** - 支持多语言判题(C/C++、Java、Python) - Docker 容器隔离运行环境 - 基于 TokenBucket 的流量控制 - **用户系统** - 用户注册/登录 - 个人信息管理 - 提交统计与排行榜 - **题目系统** - XML 题目导入 - 测试用例管理 - 难度分级与标签系统 - **比赛模块** - 定时任务调度 - 比赛排名计算 - BloomFilter 初始化 - **博客系统** - 博客发布与管理 - 评论与点赞功能 ## 环境依赖 - JDK 1.8+ - Docker 环境 - MySQL 数据库 - Redis 缓存 - MinIO 对象存储 ## 安装部署 1. 拉取 Docker 镜像: ```bash docker pull echocen/gcc:v1 docker pull echocen/openjdk:v1 docker pull echocen/python:v1 ``` 2. 配置数据库连接: 修改 `application.yml` 中的数据库配置 3. 初始化数据库: 导入根目录的 `oj.sql` 文件 ## 使用说明 - 题目上传:通过 XML 文件上传题目 - 代码提交:支持多种编程语言的在线判题 - 比赛功能:支持定时比赛与排名计算 ## 开发部署 - 后端:使用 IDEA 打开项目,配置好 JDK 即可运行 - 前端:Vue3 项目使用 Vite 启动 ## 系统截图 ![系统界面](https://user-images.githubusercontent.com/91200734/233857296-4796e241-39dc-4b0d-8414-d9e5b7eaffd8.png) ![判题界面](https://user-images.githubusercontent.com/91200734/233857304-a28aa1f2-8c3d-4cd9-a02a-a8bc56f92ed4.png) ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request