Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

体育馆管理系统

基于Spring Boot 3 + Vue 3开发的体育馆管理系统,实现了用户管理、场馆管理、预订管理、课程管理、教练管理和财务管理等核心功能。

技术栈

后端

  • Spring Boot 3.2.0
  • Spring Security + JWT
  • MyBatis-Plus 3.5.5
  • MySQL 8
  • Hutool工具类

前端

  • Vue 3.4
  • Vite 5
  • Element Plus 2.5
  • Vue Router 4
  • Pinia 2
  • Axios 1.6

功能模块

1. 用户管理模块

  • 用户注册与登录(JWT认证)
  • 个人信息管理
  • 头像上传
  • 密码修改
  • 会员充值
  • 会员等级管理

2. 场馆管理模块

  • 场馆信息管理(CRUD)
  • 场馆分类管理
  • 场馆图片管理
  • 场馆状态管理
  • 可用时段查询

3. 预订管理模块

  • 场地预订
  • 预订记录查询
  • 预订取消与退款
  • 预订审核
  • 时段冲突检测
  • 预订统计

4. 课程管理模块

  • 课程发布与管理
  • 课程报名
  • 课程评价
  • 我的课程查询
  • 人数限制管理

5. 教练管理模块

  • 教练信息管理
  • 教练排班管理
  • 教练评价
  • 教练课程统计
  • 评分自动计算

6. 财务管理模块

  • 订单管理
  • 收入统计
  • 退款管理
  • 财务报表生成
  • 数据可视化

项目结构

sportsmanager/
├── backend/                    # 后端项目
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/
│   │   │   │   └── com/sports/manager/
│   │   │   │       ├── common/         # 通用类
│   │   │   │       ├── config/         # 配置类
│   │   │   │       ├── controller/     # 控制器
│   │   │   │       ├── dto/            # 数据传输对象
│   │   │   │       ├── entity/         # 实体类
│   │   │   │       ├── exception/      # 异常处理
│   │   │   │       ├── mapper/         # Mapper接口
│   │   │   │       ├── security/       # 安全配置
│   │   │   │       ├── service/        # 业务逻辑
│   │   │   │       ├── utils/          # 工具类
│   │   │   │       └── vo/             # 视图对象
│   │   │   └── resources/
│   │   │       └── application.yml     # 配置文件
│   │   └── pom.xml                     # Maven配置
│   └── uploads/                        # 文件上传目录
├── frontend/                   # 前端项目
│   ├── src/
│   │   ├── api/               # API接口
│   │   ├── assets/            # 静态资源
│   │   ├── components/        # 组件
│   │   ├── layout/            # 布局组件
│   │   ├── router/            # 路由配置
│   │   ├── store/             # 状态管理
│   │   ├── utils/             # 工具函数
│   │   ├── views/             # 页面组件
│   │   │   ├── admin/         # 管理端页面
│   │   │   └── user/          # 用户端页面
│   │   ├── App.vue
│   │   └── main.js
│   ├── index.html
│   ├── package.json
│   └── vite.config.js
├── database/                   # 数据库脚本
│   ├── schema.sql             # 表结构
│   └── init-data.sql          # 初始数据
├── 需求分析.md
├── 功能设计.md
└── README.md

快速开始

环境要求

  • JDK 17+
  • MySQL 8.0+
  • Node.js 16+
  • Maven 3.6+

数据库配置

  1. 创建数据库并执行SQL脚本:
mysql -u root -p < database/schema.sql
mysql -u root -p < database/init-data.sql
  1. 修改后端配置文件 backend/src/main/resources/application.yml
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/sportsmanager?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: your_password

后端启动

cd backend
mvn clean install
mvn spring-boot:run

后端服务将运行在 http://localhost:8080

前端启动

cd frontend
npm install
npm run dev

前端服务将运行在 http://localhost:5173

默认账号

管理员账号

  • 用户名:admin
  • 密码:admin123

测试用户

  • 用户名:user001
  • 密码:123456

主要功能截图

用户端

  • 首页:展示场馆、课程、教练统计信息
  • 场馆列表:浏览和搜索场馆
  • 场馆详情:查看场馆信息,选择时段预订
  • 课程列表:浏览可报名课程
  • 个人中心:管理个人信息和余额

管理端

  • 数据统计:查看系统整体运营数据
  • 用户管理:管理用户信息和状态
  • 场馆管理:添加、编辑、删除场馆
  • 预订管理:查看和审核预订记录
  • 课程管理:发布和管理课程
  • 教练管理:管理教练信息和排班
  • 财务管理:查看订单和收入统计

核心特性

  1. JWT认证:基于Token的无状态认证
  2. 角色权限:区分普通用户和管理员
  3. 文件上传:支持头像和场馆图片上传
  4. 余额系统:支持充值和余额支付
  5. 会员等级:根据充值金额自动升级
  6. 时段管理:智能检测预订冲突
  7. 退款机制:根据取消时间计算退款比例
  8. 评价系统:支持课程和教练评价
  9. 统计报表:多维度数据统计和可视化

API文档

后端提供RESTful API,主要端点:

  • /api/auth/* - 认证相关
  • /api/user/* - 用户相关
  • /api/venues/* - 场馆相关
  • /api/bookings/* - 预订相关
  • /api/courses/* - 课程相关
  • /api/coaches/* - 教练相关
  • /api/admin/* - 管理员相关

注意事项

  1. 本项目为学习案例,不包含真实支付功能
  2. 文件上传采用本地存储方式
  3. 部分管理端页面功能可根据需要扩展完善
  4. 生产环境需要修改JWT密钥和数据库密码
  5. 建议使用Nginx进行反向代理和负载均衡

开发说明

后端开发

  • 遵循RESTful API设计规范
  • 使用MyBatis-Plus简化CRUD操作
  • 统一异常处理和响应格式
  • 使用Lombok简化实体类代码

前端开发

  • 组件化开发,复用性强
  • 使用Pinia进行状态管理
  • Axios封装统一请求拦截
  • Element Plus提供美观的UI组件

扩展功能建议

  1. 短信验证码登录
  2. 第三方登录(微信、QQ等)
  3. 在线支付集成
  4. 消息通知系统
  5. 数据导出功能
  6. 移动端适配
  7. 管理员操作日志
  8. 数据备份与恢复

许可证

MIT License

联系方式

如有问题或建议,欢迎反馈。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages