306 lines
7.9 KiB
Markdown
306 lines
7.9 KiB
Markdown
# 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
|