# SAMS校园社团活动管理系统 [![img](https://img.shields.io/badge/RuoYi-v3.8.9-brightgreen.svg)](https://gitee.com/y_project/RuoYi-Vue) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.5.2-green)](https://spring.io/) [![Vue.js](https://img.shields.io/badge/Vue.js-2.5.0-brightgreen)](https://vuejs.org/)[![img](https://img.shields.io/github/license/mashape/apistatus.svg)](https://gitee.com/y_project/RuoYi-Vue/blob/master/LICENSE) >基于SpringBoot + Vue 的校园社团活动全流程管理平台 > >毕业设计项目 | 山东建筑大学 | 2025届 ## 项目简介 本项目是基于 RuoYi-Vue 前后端分离版开发的校园社团活动管理系统,旨在为高校师生提供一个高效、便捷的社团活动组织与管理平台。系统支持活动的发布、审核、参与、互动等功能,提升校园社团活动的管理效率和参与体验。 ## 技术栈 ### 前端 | 技术 | 说明 | 版本信息 | | ---------- | --------- | -------- | | Vue.js | 前端框架 | 2.6.x | | Element UI | UI 组件库 | 2.15.x | | Axios | 网络请求 | 0.21.x | ### 后端 | 技术 | 说明 | 版本信息 | | --------------- | ------------ | -------- | | Java EE | Java开发环境 | 1.8+ | | Spring Boot | 后端开发框架 | 2.5.15 | | Spring Security | 安全框架 | 5.7.12 | | MyBatis | ORM 框架 | 3.x | | JWT | 身份验证机制 | 0.9.1 | ### 数据库 | 技术 | 说明 | 版本信息 | | ----- | ------------ | ------------ | | MySQL | 关系型数据库 | 5.7+ 建议8.0 | | Redis | 缓存数据库 | >=3 | ### 构建工具 | 技术 | 说明 | 版本信息 | | ------- | ------------------ | -------- | | Maven | 项目管理和构建工具 | 3.6.x+ | | Node.js | 前端构建工具 | 16.14.0 | ## 功能模块 ### 1. 用户管理 - **角色划分**:系统将用户分为管理员、社团成员和普通参与者三种角色,分别拥有不同的权限。 - **权限控制**:基于角色的权限控制,确保系统操作的安全性和规范性。 ### 2. 社团管理 - **社团信息维护**:支持社团的基本信息管理,包括名称、简介、Logo、所属学院、社团类别、社团负责人等。 - **成员管理**:支持社团成员的加入和退出审核,记录成员的活跃度(如发起活动次数和参与活动次数等)。 ### 3. 活动管理 - **活动申请与审核**:用户可以提交活动申请,管理员进行审核,支持通过、驳回或要求修改。 - **活动发布与展示**:活动自动分类展示,支持关键词搜索、时间筛选、社团分类浏览等功能。 - **活动执行与监控**:组织者可实时更新活动信息,管理员可监控活动进展,发现违规可强制终止并通知参与者。 ### 4. 互动功能 - **报名与签到**:用户可在线报名活动,活动当日进行签到,记录参与情况。 - **评论与点赞**:用户可对活动发表评论和点赞,增强互动性。 - **通知与提醒**:系统自动推送报名成功提醒、活动开始前提醒、变更通知等。 ## 系统架构 系统采用前后端分离架构,前端使用 Vue.js 构建单页应用,后端基于 Spring Boot 提供 RESTful API 接口,前后端通过 JSON 进行数据交互。 ## 安装部署 ### 前提条件 - **JDK**:1.8 及以上 - **MySQL**:5.7 及以上(建议8.0+) - **Redis**:3.0 及以上 - **Node.js**:16.14.0(仅该版本,高低版本可能会有依赖冲突) - **Maven**:3.0 及以上 ### 后端部署 1. 克隆项目代码: ```bash git clone https://git.waynews.top/BruceSun/SAMS.git ``` 1. 导入数据库: 将 `sql` 目录下的 SQL 文件导入 MySQL 数据库。 2. 配置数据库连接: 修改 `application-druid.yml` 文件,配置数据库连接信息。 3. 启动 Redis 服务。 4. 运行后端项目: 使用 IDE(如 IntelliJ IDEA)打开项目,运行 `RuoYiApplication` 主类启动后端服务。 ### 前端部署 1.进入前端项目目录: ```bash cd ruoyi-ui ``` 2.安装依赖: ```bash npm install #注意:npm国内安装比较慢,建议使用国内镜像安装: npm install --registry=https://registry.npmmirror.com ``` 3.运行前端项目(开发环境): ```bash npm run dev ``` 4.访问系统: 在浏览器中打开 `http://localhost:80`,使用默认账户登录(用户名:admin,密码:admin123)。 ## 目录结构 ### 后端目录结构 ```plaintext ruoyi ├── bs-sams // 业务模块 ├── ruoyi-admin // 后台管理模块 ├── ruoyi-common // 公共模块 ├── ruoyi-framework // 框架核心模块 ├── ruoyi-generator // 代码生成模块 ├── ruoyi-quartz // 定时任务模块 ├── ruoyi-system // 系统模块 └── sql // 数据库脚本 ``` ### 前端目录结构 ```plaintext ruoyi-ui ├── public // 公共资源 └── src ├── api // 接口请求 ├── assets // 静态资源 ├── components // 公共组件 ├── layout // 布局组件 ├── router // 路由配置 ├── store // 状态管理 ├── utils // 工具函数 ├── views // 页面视图 ├── App.vue // 根组件 └── main.js // 入口文件 ``` ## 参考资料 - RuoYi-Vue 官方文档:https://doc.ruoyi.vip/ruoyi-vue/ - RuoYi-Vue Gitee 仓库:https://gitee.com/y_project/RuoYi-Vue