1. 项目背景与核心价值
校园生活信息平台是每个大学生都需要的刚需应用。回想我大学四年,最头疼的就是各种信息分散在不同渠道——课表在教务系统,活动通知在微信群,二手交易在QQ空间,食堂菜单得靠口口相传。这种碎片化体验正是我们做这个毕业设计的初衷。
这个基于SpringBoot的平台要解决三个核心痛点:
- 信息孤岛问题:整合课程、活动、公告、失物招领等高频场景
- 时效性问题:通过即时推送确保重要通知不被淹没
- 交互体验问题:用统一入口替代多个割裂的社交平台
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 为什么选择SpringBoot
作为2018年就开始用SpringBoot的老用户,我坚持选它做毕业设计核心框架有四个理由:
- 内嵌Tomcat省去服务器配置(对毕设演示特别友好)
- 约定大于配置的理念让代码更简洁
- 丰富的Starter依赖快速集成常用功能
- 完善的监控机制便于调试
技术栈组合方案:
mermaid复制graph TD
A[SpringBoot 2.7.x] --> B[Spring Security]
A --> C[MyBatis-Plus]
A --> D[Redis]
A --> E[WebSocket]
2.2 数据库设计要点
设计ER图时最容易踩的坑就是过度设计。根据带过20+毕设的经验,建议采用"核心业务优先"原则:
- 用户体系:采用RBAC模型
sql复制CREATE TABLE `sys_user` (
`id` bigint NOT NULL AUTO_INCREMENT,
`student_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '学号',
`password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`real_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`college_id` int DEFAULT NULL COMMENT '学院ID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- 信息聚合表设计要预留扩展字段:
java复制@Entity
public class CampusInfo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Enumerated(EnumType.STRING)
private InfoType type; //NOTICE/ACTIVITY/LOST
