尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

SpringBoot3+Vue3+MySQL在线编程评测系统源码 前后端分离实战

SpringBoot3+Vue3+MySQL在线编程评测系统源码 前后端分离实战 一、项目简介本项目是一套面向高校编程教学与在线竞赛训练场景的在线编程评测网站系统采用前后端分离架构。后端基于 Spring Boot 3 提供 RESTful API前端基于 Vue 3 Vite 构建单页应用数据库使用 MySQL 8.x 存储业务数据。系统内置管理员、教师、学生三种角色覆盖从题目创建、审核、发布到学生提交代码、自动评测、成绩评定的完整教学闭环。管理员负责平台基础数据维护用户、院系、专业、课程、公告与题目审核教师负责班级与作业管理、题目编写、测试用例维护以及学生作业评分学生可浏览题库、在线编写并提交代码、查看评测结果与个人作业完成情况。系统还包含操作日志审计与多维统计图表满足教学管理对数据追踪与可视化分析的需求。二、技术栈技术说明后端框架Spring Boot 3.xORMMyBatis-Plus 3.x含自动填充、分页插件权限认证JWTjjwt密码加密Spring Security CryptoBCryptPasswordEncoder前端框架Vue 3构建工具Vite数据库MySQL 8.x文件上传Spring MultipartFileExcel/CSV 处理Apache POI操作日志AOP 切面OperationLogAspect三、功能模块管理员端用户管理查看全部用户列表支持按用户名/真实姓名模糊搜索、按角色筛选学生/教师/管理员分页展示用户基本信息。创建用户填写用户名、密码、真实姓名、角色、邮箱、院系、专业等信息直接创建新账号免去注册流程。编辑用户修改已有用户的密码、真实姓名、角色、邮箱、院系、专业等字段支持角色变更。启用/停用用户一键切换用户状态停用后该用户无法登录系统用于管理异常账号。题目审核查看全部待审核/已审核题目列表支持按审核状态筛选对题目进行通过或驳回操作审核通过后题目才在前台可见。课程管理创建、编辑、删除课程维护课程名称、学期、描述等信息为教学组织提供基础数据。院系管理创建、编辑、删除院系维护院系名称等基础信息。专业管理创建、编辑、删除专业关联所属院系形成院系-专业的层级关系。公告管理发布、编辑、删除系统公告公告支持启用/停用状态控制停用后前台不再展示。操作日志查看查看所有用户的操作日志支持按日期范围筛选记录操作内容、请求方法、IP 地址等审计信息。系统统计展示总用户数、学生数、教师数、总题目数、待审核题目数、总提交数等核心指标并展示近 7 天每日提交趋势与每日新增用户趋势图表。教师端班级管理创建、编辑、删除自己负责的班级填写班级名称、专业、年级等信息。班级学生管理查看班级内学生列表支持按用户名精确添加学生也可将学生从班级中移除。作业管理创建、编辑、删除作业填写作业标题、选择所属班级、设置截止时间并从题库中多选题目组成作业内容。查看作业题目列表查看指定作业下包含的所有题目按预设排序顺序展示。评分管理查看指定作业下所有学生的提交次数录入或修改评分与评语实现教学过程的量化评价。查看学生作业提交详情查看指定学生在指定作业中每道题目的全部提交记录包含代码内容、评测结果、用时、内存消耗。班级统计查看每个班级的学生数量、作业数量以及每位学生的总提交数、AC 提交数、平均分等统计指标。作业完成率统计查看每个作业的完成人数与完成率辅助评估教学效果。题目管理创建、编辑、删除自己创建的题目填写题目标题、描述、输入/输出说明、样例数据、难度、分类、时间/内存限制。测试用例管理为题目添加、编辑、删除测试用例填写输入与期望输出支持排序用于代码评测的判定依据。批量导入题目通过上传 CSV 或 Excel 文件批量创建题目系统提供导入模板下载提升题目录入效率。查看自己创建的题目列表分页查看个人创建的题目支持按关键字搜索。学生端普通用户端用户注册填写用户名、密码、真实姓名、邮箱等信息完成注册注册后默认角色为学生。用户登录输入用户名和密码登录系统校验密码并生成 JWT Token 返回前端携带 Token 访问受保护接口。浏览题目列表查看所有已审核通过的题目支持按关键字、难度、分类筛选分页展示。查看题目详情查看题目标题、描述、输入输出说明、样例输入输出、提示信息、时间/内存限制等完整信息。提交代码在题目详情页编写代码并选择编程语言提交后系统自动评测并返回结果ACCEPTED / COMPILE_ERROR 等。查看个人提交记录查看自己的所有提交列表支持按题目 ID 筛选显示提交结果、用时、内存、得分。查看提交详情查看单次提交的完整代码内容、评测结果、时间消耗、内存消耗。查看公告列表浏览系统发布的公告按时间倒序排列。查看系统统计查看题目总数、用户总数、提交总数等全局统计数据。查看题目分类列表获取所有已审核通过的题目分类标签便于按分类浏览题目。查看我的班级显示当前学生加入的所有班级列表包含班级名称、专业、年级、授课教师。查看作业列表查看所有班级的作业列表显示作业标题、所属班级、截止时间、题目数量、已完成题目数、是否全部完成、教师评分与评语。查看作业详情查看单个作业包含的题目列表显示每道题目的标题、难度、是否已通过ACCEPTED。查看作业得分在作业详情中查看教师给出的评分与评语。四、项目总结本项目技术选型主流且实用Spring Boot 3 Vue 3 MySQL 的组合具备良好的生态与社区支持适合作为高校编程教学平台或在线评测系统的二次开发基础。技术亮点包括基于 JWT 的无状态认证与 BCrypt 密码加密保障安全性MyBatis-Plus 简化数据持久层开发AOP 切面实现操作日志的自动记录与审计Apache POI 支持题目批量导入降低教师维护题库的成本前端 Vue 3 Vite 提供流畅的单页应用体验。系统覆盖了从题目管理、代码评测到教学评价的完整业务链路三种角色权限划分清晰统计图表辅助教学决策适用于课程设计、毕业设计、编程竞赛训练等场景也是学习前后端分离架构与在线评测系统设计的优质参考源码。界面展示交付内容本项目为完整交付包含完整后端源码完整前端源码数据库初始化脚本SQL万字项目文档设计文档 / 论文可作课程设计、毕业设计参考获取完整源码完整前后端源码 数据库脚本 万字项目文档见 Gitee 仓库https://gitee.com/kangxihuang/src-K295
返回列表