基于SpringBoot+Vue的健身房管理系统

一、项目介绍

本项目基于 Spring Boot 和 Vue 3 等技术,构建了一个现代化的健身房管理系统。系统采用前后端分离架构,旨在为健身房提供一个便捷、高效、智能的管理平台,支持管理员、教练和会员三大角色的不同功能需求,实现健身房运营的数字化转型。

系统整体分为三个层面:管理端、教练端与会员端,三种角色权限不同,具体功能如下:

  1. 管理端:实现会员管理、教练管理、课程管理、器材管理、公告管理、充值管理等功能,提升管理效率。
  2. 教练端:实现课程管理、预约审核、个人信息管理等功能,帮助教练更好地开展工作。
  3. 会员端:实现课程预约、健身打卡、个人信息管理、订单查询等功能,优化用户体验。

二、软件架构

系统架构

在这里插入图片描述

系统采用前后端分离架构:

  • 后端技术:Java、SpringBoot、MyBatis Plus
  • 前端技术:Vue3、ElementUI、ECharts
  • 数据库:MySQL 8.0
  • 开发工具:IntelliJ IDEA、Navicat

三、系统功能

在这里插入图片描述

3.1 管理员功能

  1. 个人信息管理:查看和修改个人信息,包括姓名、联系方式等基本信息。

  2. 密码管理:修改登录密码,保障账号安全。

  3. 健身房信息管理:维护健身房基本信息,包括名称、会员数、教练数、联系方式、地址等,信息同步至用户端首页展示。
    在这里插入图片描述

  4. 教练管理:对教练进行增删改查操作,启用/停用教练账号、重置密码等。
    在这里插入图片描述

  5. 会员管理:对会员用户进行增删改查操作,包括查看会员信息、编辑会员信息、启用/停用会员账号、重置密码等。
    在这里插入图片描述

  6. 健身知识管理:发布、编辑、删除健身知识文章,丰富平台内容。
    在这里插入图片描述

  7. 课程类型管理:对课程类型进行字典值管理,新增、编辑、删除课程类型。
    在这里插入图片描述

  8. 健身课程管理:新增、编辑、删除健身课程,为课程分配教练,查看课程预约情况,对预约申请进行审核,查看课程的点赞、收藏数据,查看并管理课程评论。
    在这里插入图片描述

  9. 器材类型管理:对器材类型进行字典值管理。

  10. 健身器材管理:管理健身房内的健身器材,包括新增、编辑、删除器材信息,查看器材状态等。

  11. 用户充值:给用户钱包进行充值操作,查看所有用户的充值记录。

  12. 公告管理:新增、编辑、查看公告详情,对公告进行启用、停用操作,控制公告的展示状态。

3.2 教练功能

  1. 个人信息管理:查看和修改个人信息,包括姓名、联系方式、从业经验、擅长项目等基本信息。
  2. 密码管理:修改登录密码,保障账号安全。
  3. 健身知识查看:查看管理员发布的健身知识文章。
  4. 健身课程管理:查看自己的课程信息,包括课程名称、时间、地点、难度等信息;查看课程的预约情况,对预约申请进行审核(同意/拒绝预约、同意/拒绝取消预约);查看课程的点赞、收藏数据;查看并删除课程评论。
  5. 健身器材查看:查看健身房内的器材信息和状态。
  6. 公告查看:查看管理员发布的公告信息。

3.3 会员功能

  1. 注册和登录:通过账号密码注册和登录会员端系统。

  2. 个人信息管理:查看和修改个人信息,包括姓名、联系方式等基本信息,支持上传个人头像。

  3. 密码管理:修改登录密码,保障账号安全。

  4. 首页:查看健身房的基本信息,包括健身房名称、会员数量、教练数量、联系方式及详细地址等。
    在这里插入图片描述

  5. 健身知识:查看管理员发布的健身知识文章,学习健身知识和技巧。
    在这里插入图片描述

  6. 健身器材:查看健身房内的器材信息,了解器材的使用方法和注意事项。
    在这里插入图片描述

  7. 教练团队:查看所有教练的信息,包括教练的姓名、照片、专业领域、教学风格等。
    在这里插入图片描述

  8. 健身课程:查看所有课程信息,包括课程名称、教练、时间、难度、类型等;对感兴趣的课程可以进行预约操作;可以对课程进行点赞、收藏和留言操作。
    在这里插入图片描述
    在这里插入图片描述

  9. 健身打卡:在日历上进行健身打卡,记录每次健身的心率、消耗的卡路里等信息;打卡可以与课程关联;系统会统计打卡信息并以折线图等形式展示。
    在这里插入图片描述
    在这里插入图片描述

  10. 公告:查看管理员发布的公告。
    在这里插入图片描述

  11. 个人中心

    • 我的钱包:查看钱包余额、查看充值记录和消费记录。
      在这里插入图片描述

    • 我的订单:查看自己的课程预约订单、取消订单、查看订单状态。
      在这里插入图片描述

四、课程预约流程说明

课程预约是系统的核心功能之一,流程如下:
在这里插入图片描述

  1. 预约前检查

    • 判断该课程是否需要预约(如果不需要预约,直接可参与课程)
    • 判断用户是否已预约过该课程,避免重复预约
    • 判断用户钱包余额是否足够支付课程费用
    • 判断课程预约名额是否已满
    • 判断是否超过最迟预约时间
  2. 预约状态流转

    • 已预约:用户预约课程并付款成功后,订单进入"已预约"状态
    • 预约成功:管理员或教练同意预约后,订单进入"预约成功"状态
    • 已拒绝:管理员或教练拒绝预约后,订单进入"已拒绝"状态,费用原路退还
    • 已取消:用户取消预约或教练同意取消后,订单进入"已取消"状态,费用原路退还
    • 线下处理:教练不同意取消预约时,订单进入"线下处理"状态

五、数据库设计

在这里插入图片描述

5.1 主要数据表

表名说明功能
tbl_user用户信息表保存用户基本信息
tbl_user_member会员信息表存储会员详细信息
tbl_user_coach教练信息表存储教练信息
tbl_notice公告信息表存储公告信息
tbl_file文件信息表存储文件信息
g_knowledge知识信息表存储健身知识信息
g_gym健身房信息表存储健身房信息
g_equipment健身设备信息表存储健身设备信息
g_dict字典信息表存储课程类型和健身器材类型
g_deposit消费记录表存储充值及消费信息
g_classes_order预约表存储课程预约信息
g_classes_comments评论表存储课程评论
g_classes_collect收藏点赞表存储课程收藏和点赞信息
g_classes健身课程表存储健身课程信息
g_card健身打卡表存储健身打卡信息

六、安装教程

6.1 环境要求

  • JDK 1.8+
  • Maven 3.6+
  • MySQL 8.0+
  • Node.js 16+
  • IntelliJ IDEA

6.2 后端部署

  1. 使用 Navicat 或其他工具,在 MySQL 中创建对应名称的数据库,并执行项目的 SQL 文件
  2. 使用 IntelliJ IDEA 导入 gym-server 项目
  3. 配置 Maven 信息,等待依赖下载完成
  4. 修改 application.yml 里面的数据库配置以及文件下载地址等配置
  5. 运行 GymApplication.java 启动后端服务

6.3 前端部署

管理端 (gym-admin)
cd gym-admin
npm install
npm run dev
会员端 (gym-web)
cd gym-web
npm install
npm run dev

执行成功后会显示访问地址,在浏览器中分别访问管理端和用户端地址即可。

七、工程目录结构

gym/
├── gym-server/          # 后端服务目录
│   └── src/
│       └── main/
│           ├── java/    # Java 源代码
│           └── resources/  # 配置文件
├── gym-admin/           # 管理端前端
│   └── src/
├── gym-web/             # 会员端前端
│   └── src/
└── README.md            # 项目说明文档

八、开发说明

8.1 开发环境

  • 操作系统:Windows 11
  • 处理器:AMD Ryzen 5 4600H
  • 内存:16G
  • 开发工具:IntelliJ IDEA、Navicat

8.2 技术实现

系统采用前后端分离架构:

  1. 用户在前端界面(由 Vue.js 构建)进行操作
  2. 前端通过 HTTP 请求将数据发送到后端
  3. Spring Boot 接收请求并执行对应的处理方法
  4. 处理方法与 MySQL 数据库进行交互
  5. 处理完成后,Spring Boot 创建并返回响应对象
  6. 前端接收响应并通过 Vue.js 动态渲染页面内容及数据可视化结果

九、文件路径配置

如果需要迁移文件路径,可使用以下 SQL 脚本:

-- 统一路径分隔符
UPDATE tbl_file SET file_path = REPLACE(file_path, "\\", "/");

-- 替换文件路径前缀(根据实际情况修改)
UPDATE tbl_file SET file_path = 
    REPLACE(file_path, "旧路径", "新路径");

十、系统特点

  1. 前后端分离:采用前后端分离架构,提高开发效率和系统可维护性
  2. 角色权限清晰:管理员、教练、会员三大角色权限明确,功能完整
  3. 业务流程规范:课程预约流程规范化,减少纠纷和冲突
  4. 数据可视化:通过 ECharts 图表展示统计数据,直观清晰
  5. 用户体验优化:界面简洁美观,操作流程顺畅

需要源码或者定制的小伙伴可私信联系哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值