一、项目简介
本系统是一套基于 Springboot3 + Vue3 + MySQL 构建的智能会议室预约管理平台,采用前后端分离架构。系统包含普通用户端和管理员端两大角色。普通用户可在线浏览会议室、查看实时预约时间轴、提交预约并管理自己的预约记录;管理员可对会议室进行增删改查、查看所有预约记录并按条件筛选。整体架构清晰,适合学习前后端分离开发、权限控制、文件上传等常见业务场景。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Springboot 3.x |
| ORM | Mybatis-Plus(含分页插件、逻辑删除) |
| 权限 | Spring Security + JWT(HS256,24小时过期) |
| 前端框架 | Vue 3(Composition API + setup语法) |
| 状态管理 | Pinia(用户登录态管理) |
| 构建工具 | Vite |
| 数据库 | MySQL 8.x(含自动建库配置) |
| 前端UI | Element Plus(表格、表单、日期选择器、上传、标签等) |
| 路由 | Vue Router 4(含导航守卫、懒加载) |
| HTTP客户端 | Axios(请求拦截器自动携带Token) |
| 日期处理 | dayjs |
三、功能模块
管理员端
- 查看系统概览:仪表板展示会议室总数、今日预约数、本周预约数、活跃用户数四个统计卡片,便于快速掌握平台运行状况。
- 管理会议室:分页查看所有会议室列表,支持按名称或位置关键词搜索;列表展示图片、名称、位置、容量、设备、状态等字段。
- 新增会议室:填写名称、位置、容量、状态(可用/维护中/停用)、设备标签(支持动态添加/删除)、图片(上传或URL)、描述,提交后保存至数据库。
- 编辑会议室:修改已存在会议室的全部字段,支持更新设备标签列表和替换图片。
- 删除会议室:确认后从数据库中物理删除会议室记录,不可恢复。
- 查看所有预约:分页展示全部用户的预约记录,支持按会议室下拉筛选、按日期选择器筛选;列表中包含会议主题、会议室名称、预约人、起止时间、状态、备注。
- 查看最近预约:仪表板内嵌最近预约列表,快速了解最新预约动态。
普通用户端
- 注册新账户:填写用户名(3-20位)、密码(6-20位)、真实姓名、手机号完成注册,注册后自动跳转登录页。
- 登录系统:输入用户名和密码进行身份验证,登录成功后根据角色(USER/ADMIN)跳转至对应首页。
- 浏览会议室列表:查看所有状态为“可用”的会议室,展示名称、位置、容纳人数、配套设备标签。
- 查看会议室详情:点击任意会议室进入详情页,查看高清图片、位置、容量、设备清单、状态及描述。
- 查看实时预约时间轴:在会议室详情页选择日期,以时间轴形式展示该日 07:00-20:00 内已预约的时段及预约人。
- 提交预约申请:选择会议室、填写会议主题、选择日期和起止时间(精确到小时)、可填写备注;系统自动检测时间冲突,避免重复预约。
- 查看我的预约列表:分页展示个人所有预约记录,包含会议主题、会议室名称、位置、起止时间、状态、备注。
- 取消预约:对状态为“已预约”的预约记录执行取消操作,取消后状态变为“已取消”。
- 上传头像/图片:通过文件上传接口上传图片,返回可访问的URL路径,可用于用户头像或会议室图片。
四、项目总结
本系统技术亮点包括:Springboot3 + Vue3 前后端分离架构、Spring Security + JWT 权限控制、Mybatis-Plus 分页与逻辑删除、Element Plus 组件化开发、Pinia 状态管理、Axios 请求拦截器自动携带 Token。适用于企业会议室管理场景,也可作为 Java 全栈开发、Vue3 入门、权限管理、文件上传等方向的课设或实战学习项目。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K106