diff --git a/readme.md b/readme.md new file mode 100644 index 00000000..963f523b --- /dev/null +++ b/readme.md @@ -0,0 +1,141 @@ +# 校园社团活动管理系统 +Society Activity Management System (SAMS) + +[![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 + +4. **初始化数据库** + 执行 [/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 孙之烨 | 山东建筑大学