# 架构决策记录 (ADR) 本目录包含 FischerX 项目的架构决策记录。 ## ADR 列表 | 编号 | 标题 | 状态 | |-----|------|------| | 0001 | [Monorepo 架构](./0001-monorepo-architecture.md) | 接受 | | 0002 | [Next.js 前端框架](./0002-nextjs-framework.md) | 接受 | | 0003 | [NestJS 后端框架](./0003-nestjs-backend.md) | 接受 | | 0004 | [Prisma ORM](./0004-prisma-orm.md) | 接受 | | 0005 | [RBAC 权限模型](./0005-rbac-authorization.md) | 接受 | | 0006 | [多云对象存储抽象](./0006-multi-cloud-storage.md) | 接受 | ## 什么是 ADR? 架构决策记录 (Architecture Decision Record) 是一种记录重要架构决策的方式,包括: - 决策的上下文 - 做出的决策 - 考虑过的备选方案 - 决策的后果(正面和负面) ## ADR 模板 每个 ADR 遵循以下结构: ```markdown # ADR-XXXX: 标题 | 状态 | 提议/接受/废弃/替代 | |-----|---------------------| | 创建日期 | YYYY-MM-DD | | 作者 | 作者姓名 | ## 上下文 为什么需要做这个决策?背景是什么? ## 决策 我们决定做什么? ## 备选方案 考虑过哪些其他方案? ## 后果 这个决策的正面和负面影响是什么? ## 相关链接 相关的文档和资源。 ``` ## 如何贡献新的 ADR? 1. 复制 `template.md` (如果没有,请先创建) 为新文件 2. 使用格式 `XXXX-title.md` 命名 (XXXX 是4位数字编号) 3. 填写内容 4. 创建 PR 进行审核 ## ADR 生命周期 - **提议**: 正在讨论中 - **接受**: 已决定采用 - **废弃**: 不再适用 - **替代**: 已被新的 ADR 替代