1. 项目概述
这个基于SpringBoot+Vue+MySQL的社团管理系统是我在2022年完成的毕业设计项目,前后耗时3个月开发完成。系统采用前后端分离架构,实现了社团管理全流程的数字化解决方案,包括成员管理、活动管理、物资管理、审批流程等核心功能模块。项目最终获得了学院优秀毕业设计奖,并在实际部署后为学校15个社团提供了服务支持。
系统最大的特点是采用了现代化的技术栈组合:后端使用SpringBoot 2.7提供RESTful API,前端采用Vue 3 + Element Plus构建管理界面,数据库使用MySQL 8.0,并通过Redis实现会话管理和缓存优化。整套系统代码结构清晰,模块化程度高,特别适合作为计算机相关专业学生的毕业设计参考项目。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 技术选型分析
选择SpringBoot作为后端框架主要基于以下几点考虑:
- 快速开发:自动配置和起步依赖大大减少了XML配置
- 生态丰富:整合MyBatis、Redis等组件非常方便
- 易于部署:内嵌Tomcat,打包成jar即可运行
- 社区支持:遇到问题容易找到解决方案
前端选用Vue 3的组合式API相比选项式API更适合复杂管理系统开发:
- 更好的逻辑复用能力
- 更灵活的组合方式
- 更完善的TypeScript支持
数据库选择MySQL 8.0而非5.7版本是因为:
- 支持窗口函数等高级特性
- 性能提升明显
- JSON支持更完善
2.2 系统模块划分
系统主要分为六大功能模块:
-
用户认证模块
- JWT令牌认证
- 基于RBAC的权限控制
- 密码加密存储
-
社团管理模块
- 社团CRUD操作
- 社团分类管理
- 社团招新管理
-
成员管理模块
- 成员信息维护
- 成员角色分配
- 成员考勤统计
-
活动管理模块
- 活动发布与审批
- 活动报名管理
- 活动总结提交
-
物资管理模块
- 物资入库登记
- 物资借还管理
- 物资报废处理
-
系统管理模块
- 数据字典管理
- 系统日志查询
- 个人信息设置
3. 数据库设计
3.1 核心表结构
系统共设计28张数据表,以下是部分核心表结构:
- 用户表(sys_user)
sql复制CREATE TABLE `sys_user` (
`user_id` bigint NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL COMMENT '登录账号',
`password` varchar(100) NOT NULL COMMENT '密码',
`salt` varchar(20) DEFAULT NULL COMMENT '盐值',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
`mobile` varchar(20) DEFAULT NULL COMMENT '手机号',
`status` tinyint DEFAULT '0' COMMENT '状态 0:正常 1:停用',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`user_id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统用户';
- 社团表(club_info)
sql复制CREATE TABLE `club_info` (
`club_id` bigint NOT NULL AUTO_INCREMENT,
`club_name` varchar(100) NOT NULL COMMENT '社团名称',
`club_type` varchar(50) NOT NULL COMMENT '社团类型',
`founder_id` bigint NOT NULL COMMENT '创始人ID',
`create_time` datetime NOT NULL COMMENT '成立时间',
`description` text COMMENT '社团简介',
`logo_url` varchar(255) DEFAULT NULL COMMENT 'Logo地址',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态 0:正常 1:停用',
PRIMARY KEY (`club_id`),
