项目简介
在线判题评测系统(Online Judge,简称OJ)是一个允许用户选择题目、在线编写代码并提交代码的平台。系统会根据出题人设置的答案,自动判断用户提交的代码是否正确。该系统主要用于编程练习、算法竞赛和在线考试等场景。
项目的主要特性和功能
- 权限校验:确保只有授权用户才能提交代码。
- 代码沙箱:提供安全的代码执行环境,防止恶意代码损害系统。
- 判题功能:依据题目用例自动判断代码正确性。
- 任务调度:按题目提交顺序执行判题任务,避免直接拒绝请求。
- 用户模块:包含用户注册、登录功能。
- 题目模块:管理员可创建、删除、修改题目,用户能搜索和在线做题。
- 判题模块:提交代码后进行判题,处理内存溢出、安全性、超时等问题。
安装使用步骤
前提条件
- 已下载本项目的源码文件。
- 安装并配置好Java开发环境(JDK 8+)。
- 安装并配置好MySQL数据库。
- 安装并配置好Redis。
- 安装并配置好RabbitMQ。
- 安装并配置好Docker(用于代码沙箱)。
步骤
- 复制项目:
bash cd yourrepository
- 配置数据库:
- 创建数据库:
sql CREATE DATABASE db_oj;
- 导入项目中的SQL脚本以创建表结构。
- 配置Redis:
- 启动Redis服务。
- 在项目配置文件中设置Redis连接信息。
- 配置RabbitMQ:
- 启动RabbitMQ服务。
- 在项目配置文件中设置RabbitMQ连接信息。
- 配置Docker:
- 安装Docker并启动Docker服务。
- 在项目配置文件中设置Docker相关配置。
- 配置Spring Boot:
- 在
application.properties
或application.yml
中配置数据库连接、Redis连接、RabbitMQ连接等信息。 - 启动项目:
bash ./mvnw spring-boot:run
- 访问项目:
- 打开浏览器,访问
http://localhost:8080
(默认端口)。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】