一、项目简介
华勤考试管理系统是一套基于 Spring Boot 3 + Vue 3 前后端分离架构的在线考试平台。系统覆盖从考试发布到成绩分析的全流程,支持用户注册登录、在线答题、自动判分、错题回顾等功能。系统包含普通用户和管理员两个角色,普通用户可参与考试、查看成绩与错题;管理员可对用户、题库、试卷、考试任务、成绩、公告、学习资料、轮播图进行全量管理。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.x |
| ORM | MyBatis-Plus 3.x |
| 权限认证 | JWT(自定义拦截器) |
| 前端框架 | Vue 3(Composition API) |
| 状态管理 | Pinia |
| 构建工具 | Vite |
| UI 组件库 | Element Plus |
| 数据库 | MySQL 8.x |
| 工具库 | Hutool(MD5 加密) |
三、功能模块
管理员端
- 仪表盘:展示用户总数、题库总量、试卷数量、考试人次、通过率、平均分,并显示成绩分布柱状图(0-59、60-69、70-79、80-89、90-100 分段人数)。
- 用户管理:分页查询用户列表,支持按用户名/真实姓名关键词搜索;新增用户(默认密码 123456,MD5 加密);编辑用户信息(可重置密码);删除用户。
- 题目分类管理:查看分类列表(按排序字段升序);新增/编辑分类(设置名称、描述、排序值);删除分类。
- 题库管理:分页查询题目列表,支持按分类、题型、内容关键词筛选;新增/编辑题目(题型包括单选题、多选题、判断题,设置选项 A-D、答案、解析、难度);删除题目。
- 试卷管理:分页查看试卷列表;查看试卷详情(包含试卷基本信息、关联题目列表及每题分值);新增/编辑试卷(设置标题、描述、总分、及格分、考试时长、各题型题量和分值);删除试卷(同时删除试卷与题目的关联)。
- 组卷功能:手动为试卷添加题目(设置题目和分值顺序);随机组卷(根据试卷设定的单选/多选/判断题数量和分值,从题库中随机抽取题目并自动生成试卷)。
- 考试任务管理:分页查看考试任务列表(显示关联试卷名称);新增/编辑考试任务(设置标题、关联试卷、开始时间、结束时间);删除考试任务。
- 成绩管理:按考试任务筛选查看所有考生的考试记录(包含用户姓名、任务名称、试卷名称、得分、是否通过);查看某次考试的统计信息(总参与人数、通过人数、平均分)。
- 公告管理:分页查看公告列表(支持按类型和状态筛选);新增/编辑公告(设置标题、内容、类型为公告或考试通知、发布状态);删除公告。
- 学习资料管理:分页查看资料列表;新增/编辑资料(设置标题、分类、封面图片、正文内容、附件文件);删除资料。
- 轮播图管理:查看轮播图列表(显示图片预览);新增/编辑轮播图(上传图片或输入 URL、设置标题、链接、排序、启用/禁用状态);删除轮播图。
- 文件上传:支持上传图片和附件文件,返回可访问的 URL 路径。
普通用户端
- 注册新账号:填写用户名、真实姓名、密码完成注册,注册后自动跳转登录页。
- 登录认证:输入用户名和密码,服务端校验后返回 JWT Token 和用户基本信息。
- 查看个人信息:获取当前登录用户的基本信息(用户名、真实姓名、头像、邮箱、手机号)。
- 修改个人信息:更新头像、邮箱、手机号等字段,不修改密码和角色。
- 修改密码:输入原密码和新密码,服务端对原密码进行 MD5 校验后更新为新密码。
- 查看首页数据:获取轮播图列表、最新 5 条公告、浏览量最高的 6 条学习资料、题目分类列表。
- 浏览公告列表:查看所有已发布的公告,支持点击进入详情页查看完整内容。
- 浏览学习资料列表:按分类筛选或查看全部学习资料,点击进入详情页后自动增加浏览量。
- 查看考试任务列表:获取所有考试任务,显示任务名称、关联试卷、起止时间。
- 开始考试:选择考试任务,系统校验当前时间是否在考试时段内、是否已参加过,通过后返回试卷题目(隐藏答案和解析)并创建考试记录。
- 提交答卷:上传每道题的作答答案,系统自动比对正确答案并计算总分,记录每道题的得分、是否正确,更新考试记录状态为已交卷。
- 查看考试记录列表:展示当前用户所有已完成的考试记录,包含考试名称、得分、是否通过。
- 查看考试记录详情:查看某次考试的完整答卷,包含每道题的题目、用户答案、正确答案、是否答对、得分。
- 查看错题集:汇总当前用户在所有考试中答错的题目,显示题目内容、正确答案、用户答案。
- 查看个人考试统计:统计考试总次数、通过次数、平均分、最高分。
四、项目总结
本项目采用 Spring Boot 3 + Vue 3 前后端分离架构,技术栈主流且版本较新,适合作为 Java 全栈开发的学习项目或课程设计。系统实现了完整的考试业务流程(组卷、考试、判分、成绩分析),涵盖后台管理和前台用户两大角色,功能覆盖全面。代码结构清晰,前端使用 Composition API + Pinia 状态管理,后端使用 MyBatis-Plus 简化数据操作,JWT 实现无状态认证,适合二次开发和扩展。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K173