目录

校园活动与日程管理系统

License Java Spring Boot Vue CI PRs

SDD 驱动开发 · AI 赋能的 CI 质量管控 · 社区协作

一个基于 Spring Boot + Vue 3 的全栈校园活动管理系统,采用 SDD (Specification-Driven Development) 设计方法论驱动开发,结合 AI 代码审查 的 CI 质量管控体系,支持社区协作的 PR/Issue 工作流。

技术栈

后端

技术 版本 用途
Spring Boot 2.7.18 应用框架
Spring Data JPA - ORM 持久层
Spring Security - 安全认证
MySQL 8.0 关系数据库
JWT (jjwt) 0.11.5 令牌认证
Lombok - 代码简化
JUnit 5 - 单元测试
H2 - 测试用内存数据库

前端

技术 版本 用途
Vue 3.4 前端框架
Vite 5.0 构建工具
Element Plus 2.4 UI 组件库
Pinia 2.1 状态管理
Vue Router 4.2 路由管理
Axios 1.6 HTTP 客户端
dayjs 1.11 时间处理

核心功能

1. 用户模块

  • 用户注册(支持 student / organizer / admin 角色)
  • 用户登录(JWT 令牌认证)
  • 管理员自动初始化

2. 活动管理

  • 创建活动(管理员/组织者权限)
  • 活动列表查询(按状态过滤)
  • 关键词搜索
  • 活动状态自动更新(定时任务)

3. 活动报名

  • 报名活动(仅学生)
  • 人数上限控制(乐观锁)
  • 报名查重
  • 报名后自动生成日程

4. 活动签到

  • 签到验证(已报名 + 未签到)
  • 签到去重

5. 活动举办申请

  • 学生/组织者提交申请
  • 管理员审批
  • 审批通过自动创建活动

6. 日程管理

  • 新增个人日程
  • 查询个人日程(数据隔离)
  • 关联活动日程

7. 综测分

  • 按学期(春季/秋季)计算
  • 基于已签到活动累加

项目结构

校园活动与日程管理系统/
├── backend/                        # 后端项目 (Spring Boot)
│   ├── src/main/java/.../
│   │   ├── common/                 # 通用类 (ApiResponse, ErrorCode)
│   │   ├── config/                 # 配置 (Security, Web, AdminInitializer)
│   │   ├── controller/             # 7 个 RESTful Controller
│   │   ├── dto/                    # 请求DTO + 响应VO (14个)
│   │   ├── entity/                 # JPA 实体 (6个)
│   │   ├── exception/              # 统一异常处理
│   │   ├── repository/             # JPA Repository (6个)
│   │   ├── scheduler/              # 定时任务 (活动状态更新)
│   │   ├── security/               # 权限 (@RequireRole + AOP)
│   │   ├── service/                # 业务逻辑 (7个Service)
│   │   └── util/                   # 工具类 (JWT, UserContext)
│   └── src/test/                   # 单元测试 (JUnit 5 + H2)
├── frontend/                       # 前端项目 (Vue 3)
│   └── src/
│       ├── api/                    # 7 个 API 封装
│       ├── stores/                 # Pinia 状态管理
│       ├── router/                 # 路由配置
│       ├── views/                  # 页面组件
│       └── utils/                  # 工具函数
├── .opencode/specs/campus_activity/  # AI辅助初始规格文档
│   ├── design.md                     # 系统设计
│   ├── spec.md                       # 规格定义
│   └── tasks.md                      # 任务清单
├── .devops/
│   └── CI-with-AI.yml              # CI 流水线 (含AI代码审查)
├── docs/                           # 文档目录
│   ├── sdd/                        # SDD 规格设计文档
│   │   ├── SDD-ARCH.md             # 系统架构设计
│   │   ├── SDD-DB.md               # 数据库设计
│   │   ├── SDD-API.md              # API 接口设计
│   │   ├── SDD-AI.md               # AI 代码审查设计
│   │   └── SDD-CI.md               # CI 流水线设计
│   ├── guides/                     # 使用指南
│   ├── 答辩报告.md                  # 答辩材料
│   └── ISSUE_TEMPLATE.md           # Issue 模板
├── CONTRIBUTING.md                 # 社区贡献指南
└── README.md                       # 本文件

设计文档 (SDD)

文档 内容 适用读者
SDD-ARCH.md 系统架构、模块划分、数据流、安全架构 架构师/开发者
SDD-DB.md E-R 图、6 张表结构、索引、约束规则 后端开发者
SDD-API.md 7 个 Controller 接口规范、错误码 前后端开发者
SDD-AI.md AI 审查策略、Prompt 设计、评分体系 运维/管理者
SDD-CI.md 流水线架构、6 步骤、质量门禁矩阵 运维/管理者

CI 流水线

每次 PR 提交自动触发,包含:

① 后端测试    -> mvn test (7个用例)  硬门禁
② 前端构建    -> npm run build         硬门禁
③ AI 代码审查 -> 智谱GLM-4-Flash       软门禁
④ 质量报告    -> 汇总构建结果 

AI 审查维度:代码规范 (40%) + 安全性 (30%) + 潜在 Bug (30%)


快速开始

环境要求

  • JDK 11+, Maven 3.6+
  • MySQL 8.0+, Redis 6.0+
  • Node.js 16+, npm 8+

初始化数据库

mysql -u root -p < backend/src/main/resources/sql/database.sql

启动后端

cd backend
mvn spring-boot:run
# 访问: http://localhost:8080

启动前端

cd frontend
npm install
npm run dev
# 访问: http://localhost:3000

默认账号

  • 管理员:admin / admin123
  • 学生:student1 / 123456

社区参与

欢迎贡献代码、提交 Issue 或参与讨论!

  • 贡献指南 — PR 和 Issue 规范
  • Issue 模板 — 提交 Bug 或功能建议
  • 维护者会在 48 小时内 响应

质量保障体系

三层质量保障:
┌─────────────────────────────────────┐
│ 第1层: 开发者自测 (本地)             │
│   mvn test + npm run build          │
├─────────────────────────────────────┤
│ 第2层: CI 自动验证 (PR触发)          │
│   编译 + 测试 + AI审查              │
├─────────────────────────────────────┤
│ 第3层: 代码评审 (PR Review)          │
│   AI报告 + 人工审查                  │
└─────────────────────────────────────┘

许可证

MIT License

关于

基于 Spring Boot + Vue 3 的校园活动管理系统,支持活动管理、报名签到、综测分统计。采用 SDD 设计文档驱动开发,集成 AI 代码审查与 CI 质量门禁。

49.3 MB
邀请码