169 lines
5.6 KiB
Markdown
169 lines
5.6 KiB
Markdown
# SAMS校园社团活动管理系统
|
||
|
||
[](https://gitee.com/y_project/RuoYi-Vue) [](https://spring.io/) [](https://vuejs.org/)[](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
|
||
|