- REPORT_GUIDE.md and FRONTEND_GUIDE.md: writing instructions - REPORT.md and FRONTEND.md: empty files for student submissions - Update README.md to reference guide files
47 lines
2.7 KiB
Markdown
47 lines
2.7 KiB
Markdown
# VibeVault 期末大作业报告:后端与系统设计
|
||
|
||
> 请使用中文完成报告,建议 1500–3000 字。你可以使用任意 Markdown 编辑工具。
|
||
|
||
## 1. 系统概览与架构设计
|
||
|
||
- 简要描述你的系统功能(例如:歌单管理、歌曲管理、用户管理等)。
|
||
- 画出或文字说明你的分层结构(Controller / Service / Repository),并说明每一层的主要职责。
|
||
- 解释你如何在代码中体现"高内聚、低耦合"和"依赖倒置"。
|
||
|
||
## 2. 数据建模与持久化
|
||
|
||
- 描述你的核心实体(如 `User`, `Playlist`, `Song`)及它们之间的关系(如 One-to-Many, Many-to-One)。
|
||
- 解释你选择的主键策略(如 `@GeneratedValue`)和约束(如唯一性、非空约束)的设计理由。
|
||
- 如果你对数据库结构做了扩展或修改,请在此详细说明。
|
||
|
||
## 3. 业务逻辑与事务
|
||
|
||
- 选择 1–2 个你认为最关键的业务用例(例如"批量向歌单添加歌曲并保持原子性"),描述其业务流程。
|
||
- 说明你在这些用例中如何使用事务(如 `@Transactional`),以及这样设计的原因。
|
||
- 如果你实现了高级查询(如模糊搜索、复制歌单),请说明实现方式与性能考虑。
|
||
|
||
## 4. 安全与访问控制
|
||
|
||
- 描述你的认证方案(如 JWT),以及如何将用户身份传递给业务层。
|
||
- 说明你的授权策略:谁可以删除/修改谁的歌单?你是如何在代码中实现"所有权检查"的?
|
||
- 如果你实现了更多安全特性(如密码加密、角色/权限),请在此展开。
|
||
|
||
## 5. 测试策略与质量保障
|
||
|
||
- 概述你为本项目编写的测试类型(单元测试、集成测试等)及覆盖的主要场景。
|
||
- 列举 1–2 个你通过测试发现并修复的典型 bug,说明问题成因和修复思路。
|
||
- 反思:如果以后需要继续扩展本项目,你认为当前的测试体系是否足以支撑频繁重构?为什么?
|
||
|
||
## 6. AI 协同开发反思
|
||
|
||
- 具体描述 2–3 个你在项目中使用大语言模型(如 ChatGPT、Cursor 等)协助开发的案例:
|
||
- 你给出了什么样的 Prompt?
|
||
- 得到的回答中哪些部分是直接采用的?哪些部分你进行了修改或重写?
|
||
- 分析:在本项目中,AI 对你最大的帮助是什么?最容易"误导"你的地方又是什么?
|
||
- 总结:你会如何在未来的工程实践中规范、有效地使用 AI 作为编码伙伴?
|
||
|
||
## 7. 总结与自我评估
|
||
|
||
- 总结你在本项目中最重要的三点收获(可以是技术、思维方式或协作方式)。
|
||
- 按照课程要求的大作业评分维度(功能、架构、测试、安全、文档),给自己一个客观的自评分,并简要说明理由。
|