SAMS/readme.md

143 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 校园社团活动管理系统
[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.4.2-green)](https://spring.io/)
[![Vue.js](https://img.shields.io/badge/Vue.js-3.2.0-brightgreen)](https://vuejs.org/)
[![License](https://img.shields.io/badge/License-MIT-blue)](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 # 测试数据
```
---
## 数据库设计
[//]: # (![ER Diagram](/docs/er-diagram.png))
关键数据表说明:
- **用户表(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 孙之烨 | 山东建筑大学