# Admin Service 文档中心 欢迎来到 Admin Service 文档中心!本目录包含了服务的完整技术文档。 ## 📚 文档列表 ### [1. ARCHITECTURE.md](ARCHITECTURE.md) - 架构设计文档 **内容概览**: - 服务职责和核心功能 - DDD + Hexagonal 架构设计 - 领域模型详解 (聚合根、值对象、领域服务) - 技术栈和目录结构 - 数据流和依赖方向 - SOLID 原则应用 - 性能和安全性考量 **适合人群**: 架构师、技术负责人、新加入开发者 **关键章节**: - §2 架构设计 - 了解系统整体架构 - §3 领域设计 - 深入理解业务模型 - §6 数据流 - 掌握请求处理流程 --- ### [2. API.md](API.md) - API 接口文档 **内容概览**: - API 端点完整说明 - 请求/响应格式和示例 - 错误处理和状态码 - 认证授权机制 (待实现) - 使用示例和最佳实践 **适合人群**: 前端开发者、API 集成开发者、测试工程师 **核心端点**: - `POST /api/v1/version` - 创建版本 - `GET /api/v1/version/check` - 检查更新 (移动端) - `PATCH /api/v1/version/:id/enable` - 启用版本 - `PATCH /api/v1/version/:id/disable` - 禁用版本 **快速开始**: ```bash # 检查更新 curl "http://localhost:3005/api/v1/version/check?platform=android&versionCode=100" # 创建版本 curl -X POST http://localhost:3005/api/v1/version \ -H "Content-Type: application/json" \ -d '{"platform": "android", "versionCode": 101, ...}' ``` --- ### [3. DEVELOPMENT.md](DEVELOPMENT.md) - 开发指南 **内容概览**: - 开发环境设置 - 项目初始化步骤 - 完整开发迭代流程 - 代码规范 (TypeScript, DDD, NestJS, Prisma) - 调试技巧和常见开发任务 **适合人群**: 开发者、贡献者 **推荐阅读顺序**: 1. §1 开发环境设置 - 配置本地环境 2. §2 项目初始化 - 快速启动项目 3. §3 开发流程 - 学习标准开发流程 4. §4 代码规范 - 遵循团队规范 **Git 工作流**: ```bash git checkout develop git checkout -b feature/add-version-delete # 开发... git commit -m "feat(version): add delete version functionality" git push origin feature/add-version-delete ``` --- ### [4. TESTING.md](TESTING.md) - 测试文档 **内容概览**: - 三层测试架构 (单元/集成/E2E) - 测试环境设置 (本地/WSL2/Docker) - 测试用例详细示例 - 测试执行方法 - 覆盖率要求和 CI/CD 集成 **适合人群**: 开发者、测试工程师、CI/CD 工程师 **测试统计**: - **单元测试**: 53 个用例, 6 个文件 - **集成测试**: 21 个用例, 2 个文件 - **E2E 测试**: 15 个用例, 1 个文件 - **总计**: ~89 个测试用例 **快速运行测试**: ```bash # 单元测试 (无需数据库) npm run test:unit # 集成测试 (需要数据库) DATABASE_URL="postgresql://..." npm run test:integration # E2E 测试 (需要数据库) DATABASE_URL="postgresql://..." npm run test:e2e # 所有测试 + 覆盖率 npm run test:cov ``` --- ### [5. DEPLOYMENT.md](DEPLOYMENT.md) - 部署文档 **内容概览**: - 部署架构和环境准备 - 本地部署 (PM2) - Docker 容器化部署 - 生产环境最佳实践 - 监控、日志、备份策略 - 故障排查和回滚方案 **适合人群**: 运维工程师、DevOps 工程师、系统管理员 **部署方式**: | 方式 | 适用场景 | 复杂度 | |-----|---------|-------| | 本地部署 (PM2) | 开发/测试环境 | ⭐⭐ | | Docker Compose | 本地/小规模生产 | ⭐⭐⭐ | | Kubernetes | 大规模生产 | ⭐⭐⭐⭐⭐ | **快速部署**: ```bash # Docker 方式 docker-compose up -d docker-compose exec admin-service npx prisma migrate deploy # PM2 方式 npm run build pm2 start ecosystem.config.js ``` --- ## 🚀 快速导航 ### 我是新开发者 1. 阅读 [ARCHITECTURE.md](ARCHITECTURE.md) §1-§2 了解服务职责和架构 2. 按照 [DEVELOPMENT.md](DEVELOPMENT.md) §1-§2 设置开发环境 3. 查看 [API.md](API.md) §5-§6 熟悉 API 端点 4. 阅读 [DEVELOPMENT.md](DEVELOPMENT.md) §3 学习开发流程 ### 我要集成 API 1. 阅读 [API.md](API.md) §1 了解基本信息 2. 查看 [API.md](API.md) §5 学习具体端点用法 3. 参考 [API.md](API.md) §7 查看使用示例 4. 查阅 [API.md](API.md) §4 处理错误情况 ### 我要编写测试 1. 阅读 [TESTING.md](TESTING.md) §1 了解测试架构 2. 按照 [TESTING.md](TESTING.md) §2 设置测试环境 3. 参考 [TESTING.md](TESTING.md) §3-§5 编写测试用例 4. 查看 [TESTING.md](TESTING.md) §7 检查覆盖率 ### 我要部署服务 1. 阅读 [DEPLOYMENT.md](DEPLOYMENT.md) §1 了解部署架构 2. 按照 [DEPLOYMENT.md](DEPLOYMENT.md) §2 准备环境 3. 选择合适的部署方式: - 开发: [DEPLOYMENT.md](DEPLOYMENT.md) §3 本地部署 - 测试: [DEPLOYMENT.md](DEPLOYMENT.md) §4 Docker 部署 - 生产: [DEPLOYMENT.md](DEPLOYMENT.md) §5 生产环境部署 4. 配置监控: [DEPLOYMENT.md](DEPLOYMENT.md) §6 ### 我遇到问题 1. 查看 [DEVELOPMENT.md](DEVELOPMENT.md) §7 开发常见问题 2. 查看 [TESTING.md](TESTING.md) §9 测试最佳实践 3. 查看 [DEPLOYMENT.md](DEPLOYMENT.md) §7 故障排查 --- ## 📖 文档约定 ### 版本标记 - ✅ **已实现**: 功能已完成并经过测试 - ⚠️ **部分实现**: 功能部分完成或待优化 - ❌ **未实现**: 计划功能但尚未开发 - 🎯 **目标**: 性能或覆盖率目标 ### 优先级标记 - **P0**: 核心功能,必须实现 - **P1**: 重要功能,高优先级 - **P2**: 常用功能,中优先级 - **P3**: 辅助功能,低优先级 - **P4**: 增强功能,可选实现 ### 代码示例标记 ```typescript // ✅ 推荐: 说明推荐的做法 const goodExample = () => {}; // ❌ 避免: 说明不推荐的做法 const badExample = () => {}; ``` --- ## 🔄 文档更新日志 ### 2025-12-03 - v1.0.0 (初始版本) - ✅ 创建完整文档体系 - ✅ ARCHITECTURE.md - 架构设计文档 - ✅ API.md - API 接口文档 - ✅ DEVELOPMENT.md - 开发指南 - ✅ TESTING.md - 测试文档 - ✅ DEPLOYMENT.md - 部署文档 --- ## 📋 待办事项 ### 短期 (1-3 个月) - [ ] 添加 Swagger/OpenAPI 规范文档 - [ ] 完善 JWT 认证文档 - [ ] 添加性能测试文档 - [ ] 补充故障案例库 ### 中期 (3-6 个月) - [ ] 添加 Kubernetes 部署指南 - [ ] 完善监控告警文档 - [ ] 添加安全审计文档 - [ ] 补充数据迁移指南 ### 长期 (6-12 个月) - [ ] 添加多语言 API 客户端示例 - [ ] 完善灰度发布文档 - [ ] 添加 A/B 测试指南 - [ ] 补充性能调优案例 --- ## 🤝 贡献指南 ### 文档更新流程 1. **创建分支**: ```bash git checkout -b docs/update-api-examples ``` 2. **修改文档**: - 遵循现有格式和风格 - 添加清晰的示例代码 - 更新版本日期 3. **提交变更**: ```bash git add docs/ git commit -m "docs: add API usage examples for version check" ``` 4. **创建 Pull Request**: - 描述文档变更内容 - 标注相关 Issue - 请求 Review ### 文档规范 1. **Markdown 格式**: - 使用标题层级 (H1-H6) - 代码块指定语言 - 表格对齐美观 2. **命名规范**: - 文件名大写: `ARCHITECTURE.md` - 章节使用数字编号: `§1`, `§2` - 代码示例清晰标注 3. **内容要求**: - 简洁明了 - 示例完整可运行 - 及时更新版本信息 --- ## 📞 联系方式 - **项目**: RWA Durian - **服务**: Admin Service - **维护团队**: RWA Durian Backend Team - **技术支持**: backend-team@rwadurian.com - **问题反馈**: [GitHub Issues](https://github.com/your-org/rwa-durian/issues) --- ## 📄 许可证 本文档遵循项目许可证。 --- **最后更新**: 2025-12-03 **文档版本**: 1.0.0 **维护者**: RWA Durian Team