当前位置: 首页 > news >正文

基于springboot+vue开发的会议预约管理系统【50906】

会议预约管理系统

一个完整的会议预约管理系统,包含前端用户界面、管理后台和后端API服务。
下载地址: https://download.csdn.net/download/qq_24428851/91936031

技术栈

后端

  • 框架: Spring Boot 2.7.18
  • 数据库: MySQL 5.6+
  • ORM: MyBatis Plus 3.5.3.1
  • 安全: Spring Security + JWT
  • Java版本: Java 11

前端

  • 框架: Vue 3.3.4
  • UI组件: Element Plus 2.3.8
  • 构建工具: Vite 4.4.5
  • 状态管理: Pinia 2.1.6
  • HTTP客户端: Axios 1.4.0

项目结构

meeting-management/
├── src/                          # 后端源码
│   ├── main/java/com/meeting/
│   │   ├── entity/              # 实体类
│   │   ├── mapper/              # Mapper接口
│   │   ├── service/             # 服务层
│   │   ├── controller/          # 控制器
│   │   ├── common/              # 通用类
│   │   ├── config/              # 配置类
│   │   └── util/                # 工具类
│   └── main/resources/
│       └── application.yml      # 配置文件
├── frontend-user/               # 用户前端
│   ├── src/
│   │   ├── views/               # 页面组件
│   │   ├── router/              # 路由配置
│   │   ├── stores/              # 状态管理
│   │   └── utils/               # 工具函数
│   └── package.json
├── frontend-admin/              # 管理后台
│   ├── src/
│   │   ├── views/               # 页面组件
│   │   ├── router/              # 路由配置
│   │   ├── stores/              # 状态管理
│   │   └── utils/               # 工具函数
│   └── package.json
├── database/
│   └── init.sql                 # 数据库初始化脚本
└── pom.xml                      # Maven配置

功能特性

用户功能

  • 用户注册/登录
  • 查看会议室列表
  • 预约会议室
  • 查看我的预约记录
  • 取消预约

管理员功能

  • 管理员登录
  • 会议室管理(增删改查)
  • 预约审核
  • 用户管理
  • 数据统计

快速开始

1. 数据库准备

-- 创建数据库
CREATE DATABASE meeting_management;-- 执行初始化脚本
source database/init.sql

2. 后端启动

# 进入项目根目录
cd meeting-management# 修改数据库配置(src/main/resources/application.yml)
# 确保数据库连接信息正确# 启动后端服务
mvn spring-boot:run

后端服务将在 http://localhost:8080 启动

3. 前端启动

用户前端
cd frontend-user
npm install
npm run dev

用户前端将在 http://localhost:3000 启动

管理后台
cd frontend-admin
npm install
npm run dev

管理后台将在 http://localhost:3001 启动

默认账号

管理员账号

  • 用户名: admin
  • 密码: 123456

测试用户

可以通过注册页面创建新用户

API接口

用户相关

  • POST /api/user/login - 用户登录
  • POST /api/user/register - 用户注册
  • GET /api/user/info - 获取用户信息

会议室相关

  • GET /api/room/list - 获取会议室列表
  • GET /api/room/{id} - 获取会议室详情
  • POST /api/room/create - 创建会议室(管理员)
  • PUT /api/room/update - 更新会议室(管理员)
  • DELETE /api/room/{id} - 删除会议室(管理员)

预约相关

  • POST /api/reservation/create - 创建预约
  • GET /api/reservation/my - 获取我的预约
  • GET /api/reservation/all - 获取所有预约(管理员)
  • POST /api/reservation/audit - 审核预约(管理员)
  • POST /api/reservation/cancel - 取消预约

数据库表结构

sys_user (用户表)

  • id: 用户ID
  • username: 用户名
  • password: 密码(加密)
  • real_name: 真实姓名
  • email: 邮箱
  • phone: 手机号
  • user_type: 用户类型(0-普通用户,1-管理员)
  • status: 状态(0-禁用,1-启用)

meeting_room (会议室表)

  • id: 会议室ID
  • room_name: 会议室名称
  • location: 位置
  • capacity: 容量
  • equipment: 设备描述
  • status: 状态(0-禁用,1-启用)

meeting_reservation (预约表)

  • id: 预约ID
  • room_id: 会议室ID
  • user_id: 用户ID
  • title: 会议主题
  • description: 会议描述
  • start_time: 开始时间
  • end_time: 结束时间
  • attendee_count: 参会人数
  • status: 状态(0-待审核,1-已通过,2-已拒绝,3-已取消)
  • audit_remark: 审核备注

开发说明

后端开发

  1. 使用MyBatis Plus进行数据库操作
  2. JWT进行身份认证
  3. Spring Security进行权限控制
  4. 统一返回结果格式

前端开发

  1. Vue 3 Composition API
  2. Element Plus UI组件
  3. Pinia状态管理
  4. Axios HTTP请求

部署说明

后端部署

# 打包
mvn clean package# 运行jar包
java -jar target/meeting-management-1.0.0.jar

前端部署

# 用户前端
cd frontend-user
npm run build# 管理后台
cd frontend-admin
npm run build

注意事项

  1. 确保MySQL版本为5.6或以上
  2. Java版本需要11或以上
  3. Node.js版本建议使用16或以上
  4. 首次启动前需要执行数据库初始化脚本
  5. 默认管理员密码为123456,建议生产环境修改

页面展示

image-20250913194758392

image-20250913194810518

image-20250913194838923

image-20250913194943065

image-20250913194950951

image-20250913195004602

image-20250913195018952


文章转载自:

http://JFZKAKcd.thhrf.cn
http://GeLRj3V5.thhrf.cn
http://bNpmSAeZ.thhrf.cn
http://SSfJwEUQ.thhrf.cn
http://iNlMkKAG.thhrf.cn
http://hMWAQBiX.thhrf.cn
http://aDRlVyUH.thhrf.cn
http://YF30bKSh.thhrf.cn
http://Z5iNNest.thhrf.cn
http://ZmZuIfUQ.thhrf.cn
http://IMkaxwB3.thhrf.cn
http://Ovwqxfy3.thhrf.cn
http://Zouq7jtm.thhrf.cn
http://F02tWIRm.thhrf.cn
http://5Pxxq8Io.thhrf.cn
http://dHWrteWR.thhrf.cn
http://KoDSUBoH.thhrf.cn
http://UWCMLoAb.thhrf.cn
http://1DGcwEIb.thhrf.cn
http://lt7XLF0f.thhrf.cn
http://T4V83DwP.thhrf.cn
http://QE764hmv.thhrf.cn
http://yJM2yQch.thhrf.cn
http://7pigId5v.thhrf.cn
http://uWHfTw59.thhrf.cn
http://vrN9uUOU.thhrf.cn
http://HO09wUyL.thhrf.cn
http://KbhgYkKa.thhrf.cn
http://GoFJKaha.thhrf.cn
http://CUECmw6g.thhrf.cn
http://www.dtcms.com/a/382274.html

相关文章:

  • 【Ubuntu】sudo apt update出现E :仓库***没有Release文件
  • JavaWeb--day3--AjaxElement路由打包部署
  • 阿里云国际代理:怎么保障数据库在凭据变更过程中的安全与稳定?
  • 关于子空间流形的认识
  • SQL注入漏洞手动测试详细过程
  • 【Linux】gcc/g++工具篇
  • libxl写到xls
  • 关键点(c++,Linux)
  • IO进程——进程引入、进程函数接口
  • Java 面向对象设计的六大原则
  • 今日分享:C++ deque与priority_queue
  • Vue3 通过json配置生成查询表单
  • spring 声明式事务
  • [硬件电路-190]:三极管的电流放大特性看男女关系3:过渡的投入,输出进入不安全区、疲惫期,反而双方系统造成伤害
  • json文件转excel
  • ros2获取topic信息解析
  • C++中的贪心算法
  • 【Selenium】Selenium 测试失败排查:一次元素定位超时的完整解决之旅
  • Selenium 使用指南
  • 【Python 入门】(2)Python 语言基础(变量)
  • XSS攻击1----(XSS介绍)
  • 【LeetCode 每日一题】3446. 按对角线进行矩阵排序——(解法一)分组 - 排序 - 重建
  • 【亲测有效】解决 “Batch script contains DOS line breaks (\r\n)” 报错
  • 集值优化问题:理论、应用与前沿进展
  • 17、逻辑回归与分类评估 - 从连续到离散的智能判断
  • AMD KFD的BO设计分析系列3-1: GTT的实现分析
  • 如何实现静态库与动态库的制作
  • 【硬件开发】电源抑制比PSRR
  • 基于Redisson的分布式锁原理深度解析与性能优化实践指南
  • 【Leetcode hot 100】101.对称二叉树