一、项目简介
本系统是一套面向程序员面试场景的题库管理平台,采用前后端分离架构。后端基于 Spring Boot 3 提供 RESTful API,前端基于 Vue 3 构建单页应用,数据库使用 MySQL 8.x 存储业务数据。系统整体划分为三大端:前台门户(面向访客与注册用户)、用户中心(面向普通用户)、管理后台(面向管理员)。普通用户可完成注册登录、刷题练习、错题复盘、模拟测试、阅读文章等完整学习闭环;管理员则通过独立后台维护题目、分类、文章、轮播图等核心内容,并对用户账号进行管理。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.x(Java 17+) |
| ORM 框架 | MyBatis-Plus(分页插件、逻辑删除、自动填充) |
| 权限认证 | JWT(自定义拦截器实现接口鉴权) |
| 前端框架 | Vue 3(Composition API) |
| UI 组件库 | Element Plus |
| 状态管理 | Vue Router(路由守卫控制访问权限) |
| 构建工具 | Vite |
| 数据库 | MySQL 8.x |
| 工具库 | Hutool(MD5 加密) |
三、功能模块
管理员端
- 管理员登录:独立后台登录入口,校验管理员角色与密码,签发独立 JWT Token,保障后台接口安全。
- 数据看板:聚合展示注册用户数、题目总数、分类数量、答题记录数、文章数、模拟测试数等核心统计指标。
- 用户管理:分页查看用户列表,支持按用户名或昵称模糊搜索;可启用/禁用用户账号,也可直接删除违规用户。
- 分类管理:维护题目分类,字段包含分类名称、描述、排序值;支持增删改查,分类下存在题目时禁止删除,防止数据孤立。
- 题目管理:分页管理面试题目,支持按分类、难度、关键词筛选;新增/编辑题目时维护标题、内容、题型(单选/多选/判断)、选项、正确答案、答案解析、标签、来源、难度等级等字段。
- 轮播图管理:维护首页轮播图,字段包含标题、图片 URL、跳转链接、排序值、启用状态;支持图片上传并回显。
- 文章管理:发布/编辑技术文章,字段包含标题、摘要、封面图、正文内容、作者、发布状态(草稿/发布);支持封面图片上传。
- 文件上传:提供统一文件上传接口,支持图片等资源上传,返回可访问的静态资源 URL,供轮播图、文章封面等模块复用。
普通用户端
- 用户注册与登录:支持用户名密码注册,密码经 MD5 加密后存储;登录成功后签发 JWT Token,前端携带 Token 访问受保护接口。
- 个人信息管理:查看个人基本资料,支持修改昵称、邮箱、头像信息,头像上传后即时更新。
- 首页数据概览:展示累计答题数、正确率、练习天数、错题数等统计指标,并以折线图呈现近 30 天每日答题趋势。
- 分类数据统计:按题目分类展示答题总数、正确数及正确率,通过饼图/柱状图展示各分类答题占比分布。
- 错题分类分布:以图表形式展示错题在不同分类下的数量占比,帮助用户快速定位薄弱知识点。
- 题目浏览与检索:按分类、难度筛选题目列表,支持关键词模糊搜索标题和标签;查看题目详情时展示题干、选项、解析与参考答案。
- 在线答题提交:提交答案后即时返回判题结果(正确/错误)、正确答案与答案解析,并记录本次答题耗时。
- 错题本管理:系统自动收录答错题目,记录错误次数与最近错误时间;支持按分类、掌握状态筛选,用户可标记"已掌握"或添加个人笔记。
- 模拟测试:按分类选择题目数量生成随机试卷,支持在线作答、交卷评分(百分制)、查看得分与答题详情。
- 测试历史记录:查看历次模拟测试的得分、用时、正确数、状态(进行中/已完成),便于复盘回顾。
- 文章资讯浏览:查看文章列表与详情页,进入详情页自动累加浏览量,便于了解热门技术内容。
四、项目总结
本项目技术选型主流且实用,后端采用 Spring Boot 3 + MyBatis-Plus 组合,前端采用 Vue 3 + Element Plus + Vite 组合,前后端通过 JWT 完成身份认证与接口鉴权,整体架构清晰、职责分明。业务功能覆盖面试题库系统的核心闭环:刷题、错题、模拟测试、数据统计、内容管理,且每个模块均包含完整的 CRUD 与业务逻辑处理。项目附带数据库初始化脚本与万字文档,适合作为 Java 全栈课程设计、毕业设计或 Spring Boot 3 + Vue 3 前后端分离项目的实战参考与二次开发底座。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K304