体育馆场地管理系统**下载地址**https://download.csdn.net/download/qq_24428851/91940376项目简介这是一个完整的体育馆场地管理系统采用前后端分离架构包含用户前端、管理后台和后端服务。系统支持场地预约、用户管理、预约管理、数据统计等功能为体育馆提供现代化的场地管理解决方案。技术栈后端Java 11- 编程语言Spring Boot 2.7.18- 应用框架MyBatis Plus 3.5.3.1- ORM框架MySQL 8.0- 数据库Spring Security- 安全框架JWT- 身份认证Maven- 项目管理工具前端Vue 3.3.4- 前端框架Element Plus 2.3.8- UI组件库Vite 4.4.5- 构建工具Axios 1.4.0- HTTP客户端Pinia 2.1.6- 状态管理Vue Router 4.2.4- 路由管理ECharts 5.4.2- 图表库管理端项目结构gym-management-system/ ├── backend/ # 后端SpringBoot项目 │ ├── src/main/java/com/gym/management/ │ │ ├── entity/ # 实体类 │ │ │ ├── User.java # 用户实体 │ │ │ ├── Venue.java # 场地实体 │ │ │ ├── VenueType.java # 场地类型实体 │ │ │ └── Booking.java # 预约实体 │ │ ├── mapper/ # MyBatis Mapper │ │ ├── service/ # 业务逻辑层 │ │ ├── controller/ # 控制器 │ │ │ ├── AuthController.java # 认证控制器 │ │ │ ├── UserController.java # 用户管理控制器 │ │ │ ├── VenueController.java # 场地管理控制器 │ │ │ ├── VenueTypeController.java # 场地类型控制器 │ │ │ └── BookingController.java # 预约管理控制器 │ │ ├── config/ # 配置类 │ │ │ ├── SecurityConfig.java # 安全配置 │ │ │ ├── MybatisPlusConfig.java # MyBatis配置 │ │ │ └── GlobalExceptionHandler.java # 全局异常处理 │ │ ├── util/ # 工具类 │ │ │ ├── JwtUtil.java # JWT工具 │ │ │ ├── PasswordUtil.java # 密码工具 │ │ │ └── JwtAuthenticationFilter.java # JWT过滤器 │ │ └── dto/ # 数据传输对象 │ │ ├── Result.java # 统一返回结果 │ │ ├── LoginRequest.java # 登录请求 │ │ ├── LoginResponse.java # 登录响应 │ │ └── RegisterRequest.java # 注册请求 │ ├── src/main/resources/ │ │ ├── application.yml # 配置文件 │ │ ├── application-dev.yml # 开发环境配置 │ │ └── sql/ │ │ ├── schema.sql # 数据库脚本 │ │ ├── update_booking_status.sql # 数据库更新脚本 │ │ └── manual_update.sql # 手动更新脚本 │ └── pom.xml # Maven配置 └── frontend/ ├── user-frontend/ # 用户前端 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ │ ├── Home.vue # 首页 │ │ │ ├── Login.vue # 登录页 │ │ │ ├── Register.vue # 注册页 │ │ │ ├── Venues.vue # 场地列表 │ │ │ ├── Booking.vue # 预约页面 │ │ │ └── MyBookings.vue # 我的预约 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ └── utils/ # 工具函数 │ ├── public/ # 静态资源 │ │ └── default-venue.svg # 默认场地图片 │ ├── package.json # 依赖配置 │ └── vite.config.js # Vite配置 └── admin-frontend/ # 管理后台 ├── src/ │ ├── views/ # 页面组件 │ │ ├── Dashboard.vue # 仪表盘 │ │ ├── Login.vue # 登录页 │ │ ├── VenueManagement.vue # 场地管理 │ │ ├── BookingManagement.vue # 预约管理 │ │ └── UserManagement.vue # 用户管理 │ ├── router/ # 路由配置 │ ├── store/ # 状态管理 │ └── utils/ # 工具函数 ├── package.json # 依赖配置 └── vite.config.js # Vite配置快速开始1. 环境要求Java 11Node.js 16MySQL 8.0Maven 3.62. 数据库准备安装MySQL 8.0或更高版本创建数据库CREATEDATABASEgym_managementDEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;执行数据库脚本mysql-uroot-pgym_managementgym-management-system/backend/src/main/resources/sql/schema.sql3. 后端启动进入后端目录cdgym-management-system/backend修改数据库配置如需要编辑src/main/resources/application-dev.yml中的数据库连接信息启动后端服务mvn spring-boot:run或者使用IDE直接运行GymManagementApplication.java后端服务将在http://localhost:8080启动4. 前端启动用户前端进入用户前端目录cdgym-management-system/frontend/user-frontend安装依赖npminstall启动开发服务器npmrun dev用户前端将在http://localhost:5173启动管理后台进入管理后台目录cdgym-management-system/frontend/admin-frontend安装依赖npminstall启动开发服务器npmrun dev管理后台将在http://localhost:5174启动默认账号管理员账号用户名admin密码123456用户账号用户可以通过注册页面创建新账号或使用管理员账号登录用户端。功能特性用户端功能用户认证用户注册、登录、退出场地浏览按类型筛选场地、搜索场地场地预约选择日期和时间段进行预约预约管理查看我的预约、取消预约响应式设计支持移动端和桌面端管理后台功能仪表盘数据统计、图表展示、最近预约场地管理场地增删改查、场地类型管理预约管理查看所有预约、确认/拒绝预约用户管理用户列表、用户状态管理数据统计预约趋势、场地使用率分析API接口认证接口POST /auth/login- 用户登录POST /auth/register- 用户注册场地接口GET /venue-type/list- 获取场地类型列表GET /venue/list- 获取场地列表GET /venue/list/{typeId}- 根据类型获取场地GET /venue/{id}- 获取场地详情POST /venue- 添加场地管理员PUT /venue- 更新场地管理员DELETE /venue/{id}- 删除场地管理员预约接口POST /booking- 创建预约GET /booking/my- 获取我的预约PUT /booking/{id}/cancel- 取消预约GET /booking/venue/{venueId}/date/{date}- 获取场地某日预约情况GET /booking/all- 获取所有预约管理员PUT /booking/{id}/confirm- 确认预约管理员PUT /booking/{id}/approve- 通过预约管理员PUT /booking/{id}/reject- 拒绝预约管理员用户管理接口GET /user/list- 获取用户列表管理员GET /user/stats- 获取用户统计管理员PUT /user/{id}/status- 更新用户状态管理员DELETE /user/{id}- 删除用户管理员数据库设计用户表 (user)id- 用户ID主键username- 用户名唯一password- 密码加密email- 邮箱phone- 手机号real_name- 真实姓名role- 角色USER/ADMINstatus- 状态0-禁用1-启用create_time- 创建时间update_time- 更新时间deleted- 逻辑删除标记场地类型表 (venue_type)id- 类型ID主键name- 类型名称description- 类型描述create_time- 创建时间update_time- 更新时间deleted- 逻辑删除标记场地表 (venue)id- 场地ID主键name- 场地名称type_id- 场地类型ID外键description- 场地描述capacity- 容纳人数price_per_hour- 每小时价格image_url- 场地图片URLstatus- 状态0-不可用1-可用create_time- 创建时间update_time- 更新时间deleted- 逻辑删除标记预约表 (booking)id- 预约ID主键user_id- 用户ID外键venue_id- 场地ID外键booking_date- 预约日期start_time- 开始时间end_time- 结束时间total_price- 总价格status- 状态PENDING/CONFIRMED/CANCELLED/COMPLETED/REJECTEDremark- 备注create_time- 创建时间update_time- 更新时间deleted- 逻辑删除标记开发说明后端开发使用MyBatis Plus进行数据库操作支持代码生成使用Spring Security进行权限控制支持JWT认证使用统一返回结果格式Result类支持跨域请求前后端分离使用逻辑删除数据安全支持数据验证和异常处理前端开发使用Vue 3 Composition API代码更简洁使用Element Plus UI组件库界面美观使用Pinia进行状态管理替代Vuex使用Axios进行HTTP请求支持拦截器使用Vite构建工具开发体验更好支持响应式设计适配多端部署说明后端部署打包项目mvn clean package-DskipTests运行jar包java-jartarget/gym-management-system-1.0.0.jar前端部署构建生产版本npmrun build将dist目录部署到Web服务器如NginxDocker部署可选# 后端Dockerfile FROM openjdk:11-jre-slim COPY target/gym-management-system-1.0.0.jar app.jar EXPOSE 8080 ENTRYPOINT [java, -jar, /app.jar]系统截图感谢使用体育馆场地管理系统
体育馆场地管理系统
发布时间:2026/6/1 5:30:16
体育馆场地管理系统**下载地址**https://download.csdn.net/download/qq_24428851/91940376项目简介这是一个完整的体育馆场地管理系统采用前后端分离架构包含用户前端、管理后台和后端服务。系统支持场地预约、用户管理、预约管理、数据统计等功能为体育馆提供现代化的场地管理解决方案。技术栈后端Java 11- 编程语言Spring Boot 2.7.18- 应用框架MyBatis Plus 3.5.3.1- ORM框架MySQL 8.0- 数据库Spring Security- 安全框架JWT- 身份认证Maven- 项目管理工具前端Vue 3.3.4- 前端框架Element Plus 2.3.8- UI组件库Vite 4.4.5- 构建工具Axios 1.4.0- HTTP客户端Pinia 2.1.6- 状态管理Vue Router 4.2.4- 路由管理ECharts 5.4.2- 图表库管理端项目结构gym-management-system/ ├── backend/ # 后端SpringBoot项目 │ ├── src/main/java/com/gym/management/ │ │ ├── entity/ # 实体类 │ │ │ ├── User.java # 用户实体 │ │ │ ├── Venue.java # 场地实体 │ │ │ ├── VenueType.java # 场地类型实体 │ │ │ └── Booking.java # 预约实体 │ │ ├── mapper/ # MyBatis Mapper │ │ ├── service/ # 业务逻辑层 │ │ ├── controller/ # 控制器 │ │ │ ├── AuthController.java # 认证控制器 │ │ │ ├── UserController.java # 用户管理控制器 │ │ │ ├── VenueController.java # 场地管理控制器 │ │ │ ├── VenueTypeController.java # 场地类型控制器 │ │ │ └── BookingController.java # 预约管理控制器 │ │ ├── config/ # 配置类 │ │ │ ├── SecurityConfig.java # 安全配置 │ │ │ ├── MybatisPlusConfig.java # MyBatis配置 │ │ │ └── GlobalExceptionHandler.java # 全局异常处理 │ │ ├── util/ # 工具类 │ │ │ ├── JwtUtil.java # JWT工具 │ │ │ ├── PasswordUtil.java # 密码工具 │ │ │ └── JwtAuthenticationFilter.java # JWT过滤器 │ │ └── dto/ # 数据传输对象 │ │ ├── Result.java # 统一返回结果 │ │ ├── LoginRequest.java # 登录请求 │ │ ├── LoginResponse.java # 登录响应 │ │ └── RegisterRequest.java # 注册请求 │ ├── src/main/resources/ │ │ ├── application.yml # 配置文件 │ │ ├── application-dev.yml # 开发环境配置 │ │ └── sql/ │ │ ├── schema.sql # 数据库脚本 │ │ ├── update_booking_status.sql # 数据库更新脚本 │ │ └── manual_update.sql # 手动更新脚本 │ └── pom.xml # Maven配置 └── frontend/ ├── user-frontend/ # 用户前端 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ │ ├── Home.vue # 首页 │ │ │ ├── Login.vue # 登录页 │ │ │ ├── Register.vue # 注册页 │ │ │ ├── Venues.vue # 场地列表 │ │ │ ├── Booking.vue # 预约页面 │ │ │ └── MyBookings.vue # 我的预约 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ └── utils/ # 工具函数 │ ├── public/ # 静态资源 │ │ └── default-venue.svg # 默认场地图片 │ ├── package.json # 依赖配置 │ └── vite.config.js # Vite配置 └── admin-frontend/ # 管理后台 ├── src/ │ ├── views/ # 页面组件 │ │ ├── Dashboard.vue # 仪表盘 │ │ ├── Login.vue # 登录页 │ │ ├── VenueManagement.vue # 场地管理 │ │ ├── BookingManagement.vue # 预约管理 │ │ └── UserManagement.vue # 用户管理 │ ├── router/ # 路由配置 │ ├── store/ # 状态管理 │ └── utils/ # 工具函数 ├── package.json # 依赖配置 └── vite.config.js # Vite配置快速开始1. 环境要求Java 11Node.js 16MySQL 8.0Maven 3.62. 数据库准备安装MySQL 8.0或更高版本创建数据库CREATEDATABASEgym_managementDEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;执行数据库脚本mysql-uroot-pgym_managementgym-management-system/backend/src/main/resources/sql/schema.sql3. 后端启动进入后端目录cdgym-management-system/backend修改数据库配置如需要编辑src/main/resources/application-dev.yml中的数据库连接信息启动后端服务mvn spring-boot:run或者使用IDE直接运行GymManagementApplication.java后端服务将在http://localhost:8080启动4. 前端启动用户前端进入用户前端目录cdgym-management-system/frontend/user-frontend安装依赖npminstall启动开发服务器npmrun dev用户前端将在http://localhost:5173启动管理后台进入管理后台目录cdgym-management-system/frontend/admin-frontend安装依赖npminstall启动开发服务器npmrun dev管理后台将在http://localhost:5174启动默认账号管理员账号用户名admin密码123456用户账号用户可以通过注册页面创建新账号或使用管理员账号登录用户端。功能特性用户端功能用户认证用户注册、登录、退出场地浏览按类型筛选场地、搜索场地场地预约选择日期和时间段进行预约预约管理查看我的预约、取消预约响应式设计支持移动端和桌面端管理后台功能仪表盘数据统计、图表展示、最近预约场地管理场地增删改查、场地类型管理预约管理查看所有预约、确认/拒绝预约用户管理用户列表、用户状态管理数据统计预约趋势、场地使用率分析API接口认证接口POST /auth/login- 用户登录POST /auth/register- 用户注册场地接口GET /venue-type/list- 获取场地类型列表GET /venue/list- 获取场地列表GET /venue/list/{typeId}- 根据类型获取场地GET /venue/{id}- 获取场地详情POST /venue- 添加场地管理员PUT /venue- 更新场地管理员DELETE /venue/{id}- 删除场地管理员预约接口POST /booking- 创建预约GET /booking/my- 获取我的预约PUT /booking/{id}/cancel- 取消预约GET /booking/venue/{venueId}/date/{date}- 获取场地某日预约情况GET /booking/all- 获取所有预约管理员PUT /booking/{id}/confirm- 确认预约管理员PUT /booking/{id}/approve- 通过预约管理员PUT /booking/{id}/reject- 拒绝预约管理员用户管理接口GET /user/list- 获取用户列表管理员GET /user/stats- 获取用户统计管理员PUT /user/{id}/status- 更新用户状态管理员DELETE /user/{id}- 删除用户管理员数据库设计用户表 (user)id- 用户ID主键username- 用户名唯一password- 密码加密email- 邮箱phone- 手机号real_name- 真实姓名role- 角色USER/ADMINstatus- 状态0-禁用1-启用create_time- 创建时间update_time- 更新时间deleted- 逻辑删除标记场地类型表 (venue_type)id- 类型ID主键name- 类型名称description- 类型描述create_time- 创建时间update_time- 更新时间deleted- 逻辑删除标记场地表 (venue)id- 场地ID主键name- 场地名称type_id- 场地类型ID外键description- 场地描述capacity- 容纳人数price_per_hour- 每小时价格image_url- 场地图片URLstatus- 状态0-不可用1-可用create_time- 创建时间update_time- 更新时间deleted- 逻辑删除标记预约表 (booking)id- 预约ID主键user_id- 用户ID外键venue_id- 场地ID外键booking_date- 预约日期start_time- 开始时间end_time- 结束时间total_price- 总价格status- 状态PENDING/CONFIRMED/CANCELLED/COMPLETED/REJECTEDremark- 备注create_time- 创建时间update_time- 更新时间deleted- 逻辑删除标记开发说明后端开发使用MyBatis Plus进行数据库操作支持代码生成使用Spring Security进行权限控制支持JWT认证使用统一返回结果格式Result类支持跨域请求前后端分离使用逻辑删除数据安全支持数据验证和异常处理前端开发使用Vue 3 Composition API代码更简洁使用Element Plus UI组件库界面美观使用Pinia进行状态管理替代Vuex使用Axios进行HTTP请求支持拦截器使用Vite构建工具开发体验更好支持响应式设计适配多端部署说明后端部署打包项目mvn clean package-DskipTests运行jar包java-jartarget/gym-management-system-1.0.0.jar前端部署构建生产版本npmrun build将dist目录部署到Web服务器如NginxDocker部署可选# 后端Dockerfile FROM openjdk:11-jre-slim COPY target/gym-management-system-1.0.0.jar app.jar EXPOSE 8080 ENTRYPOINT [java, -jar, /app.jar]系统截图感谢使用体育馆场地管理系统