143 lines
5.0 KiB
Markdown
143 lines
5.0 KiB
Markdown
# 校园社团活动管理系统
|
||
|
||
[](https://spring.io/)
|
||
[](https://vuejs.org/)
|
||
[](LICENSE)
|
||
|
||
> 基于SpringBoot + Vue的校园社团活动全流程管理平台
|
||
> 毕业设计项目 | 山东建筑大学 | 2025届
|
||
|
||
---
|
||
|
||
## 项目简介
|
||
本系统旨在解决传统校园社团活动管理的痛点,提供数字化全流程解决方案:
|
||
- **角色分层管理**:支持管理员、组织者、参与者三级权限体系
|
||
- **活动全生命周期管理**:覆盖活动申请、审核、执行到归档全流程
|
||
- **数据可视化**:实时统计活动参与度与社团活跃度
|
||
- **安全可靠**:采用JWT鉴权+BCrypt加密+操作日志审计
|
||
|
||
[//]: # ([👉 **在线演示**](https://demo.club-manager.com) | [📚 需求文档](/docs/需求分析说明书1.4.docx))
|
||
|
||
---
|
||
|
||
## 功能特性
|
||
|
||
### 🎯 核心功能
|
||
| 模块 | 功能描述 |
|
||
|--------------|--------------------------------------------------------------------------|
|
||
| **社团管理** | 社团信息维护/成员审核/权限分级/数据统计 |
|
||
| **活动管理** | 在线申请-审核-发布全流程/扫码签到/评论互动/实时通知推送 |
|
||
| **用户中心** | 多角色视图切换/我的活动追踪/消息通知中心 |
|
||
|
||
### 🚀 特色功能
|
||
- **智能推荐**:基于用户兴趣的活动推送
|
||
- **扫码签到**:动态二维码防作弊机制
|
||
- **数据看板**:社团活跃度排行榜
|
||
|
||
---
|
||
|
||
## 技术栈
|
||
|
||
### 前端技术
|
||
| 技术 | 说明 | 版本 |
|
||
|------------------|--------------------------------|--------|
|
||
| Vue.js | 渐进式JavaScript框架 | 3.2.0 |
|
||
| Element-Plus | UI组件库 | 2.2.0 |
|
||
| Axios | HTTP客户端 | 1.1.3 |
|
||
| ECharts | 数据可视化 | 5.4.0 |
|
||
|
||
### 后端技术
|
||
| 技术 | 说明 | 版本 |
|
||
|------------------|--------------------------------|--------|
|
||
| Spring Boot | Java开发框架 | 2.7.0 |
|
||
| MyBatis-Plus | ORM框架 | 3.5.2 |
|
||
| JWT | 身份认证 | 0.11.2 |
|
||
| Redis | 缓存管理 | 6.2.6 |
|
||
| Swagger | API文档生成 | 3.0.0 |
|
||
|
||
### 基础设施
|
||
| 组件 | 用途 |
|
||
|--------------|--------------------------------|
|
||
| MySQL 8.0 | 主数据库 |
|
||
| Nginx | 反向代理/负载均衡 |
|
||
| Docker | 容器化部署 |
|
||
|
||
---
|
||
|
||
## 快速开始
|
||
|
||
### 环境要求
|
||
- JDK 17+
|
||
- Node.js 16.x
|
||
- MySQL 8.0+
|
||
- Redis 6.x
|
||
|
||
### 本地部署
|
||
|
||
[//]: # ( todo 完善本地部署方法)
|
||
|
||
**初始化数据库**
|
||
执行 [/sql/init.sql](/sql/init.sql) 脚本
|
||
|
||
---
|
||
|
||
## 项目结构
|
||
```text
|
||
campus-club-system/
|
||
├── server/ # 后端服务
|
||
│ ├── src/
|
||
│ │ ├── main/
|
||
│ │ │ ├── java/com/bruce/sams/
|
||
│ │ │ │ ├── controller # API接口层
|
||
│ │ │ │ ├── service # 业务逻辑层
|
||
│ │ │ │ ├── mapper # 数据访问层
|
||
│ │ │ │ └── config # 安全/缓存配置
|
||
│ │ │ └── resources/ # 配置文件
|
||
│ └── pom.xml
|
||
│
|
||
├── client/ # 前端应用
|
||
│ ├── src/
|
||
│ │ ├── api/ # 接口封装
|
||
│ │ ├── router/ # 路由配置
|
||
│ │ ├── views/ # 页面组件
|
||
│ │ └── store/ # 状态管理
|
||
│ └── package.json
|
||
│
|
||
├── docs/ # 文档资料
|
||
│ ├── 需求分析说明书.docx
|
||
│ └── 数据库设计.md
|
||
│
|
||
└── sql/ # 数据库脚本
|
||
├── init.sql # 初始化脚本
|
||
└── sample_data.sql # 测试数据
|
||
```
|
||
|
||
---
|
||
|
||
## 数据库设计
|
||
|
||
[//]: # ()
|
||
|
||
关键数据表说明:
|
||
- **用户表(user)**:存储用户基础信息与角色权限
|
||
- **活动表(activity)**:记录活动全生命周期状态
|
||
- **报名表(signup_record)**:管理用户报名与签到信息
|
||
- **操作日志(admin_log)**:审计所有管理操作
|
||
|
||
[//]: # ([🔍 查看完整数据库设计](/docs/数据库设计.md))
|
||
|
||
---
|
||
|
||
## 贡献指南
|
||
欢迎通过Issue或PR参与改进!
|
||
1. Fork本仓库
|
||
2. 创建特性分支 (`git checkout -b feature/your-feature`)
|
||
3. 提交修改 (`git commit -m 'Add some feature'`)
|
||
4. 推送到分支 (`git push origin feature/your-feature`)
|
||
5. 创建Pull Request
|
||
|
||
---
|
||
|
||
## 许可证
|
||
[MIT License](LICENSE) © 2025 孙之烨 | 山东建筑大学
|