2.4 KiB
2.4 KiB
阶段 1 工程骨架实施计划
目标
让前端原型、NestJS API、Go CMPP Gateway 和基础设施具备稳定启动、构建、测试和文档入口,为阶段 2 到阶段 8 的业务开发提供工程底座。
实施步骤
-
文档与阶段门
- 创建阶段 1 计划和进度记录。
- 明确阶段 1 不实现完整业务,只建立工程骨架。
-
前端工程边界
- 当前 React + TypeScript + Vite 原型暂时保留在仓库根目录。
- 第一版继续保留短信业务和账户计费入口,彩信入口保持待开发或后续隐藏。
- 后续如迁移到
web/,需单独做无行为变化迁移。
-
NestJS API 骨架
- 创建
api/package.json、tsconfig.json、src/main.ts、src/app.module.ts。 - 配置健康检查接口。
- 配置 Swagger/OpenAPI 文档入口。
- 配置环境变量读取。
- 保留阶段 0 BullMQ Spike 脚本。
- 创建
-
Prisma 与数据库流程
- 创建
api/prisma/schema.prisma。 - 建立
prisma generate和迁移命令入口。 - 阶段 1 只定义基础连接和首批占位模型,不展开完整业务表。
- 创建
-
Go Gateway 骨架
- 保留阶段 0 gocmpp 适配、追踪器、重连状态机和 Spike 测试。
- 增加健康检查 HTTP server 入口。
- 明确 Gateway 只做 CMPP 连接、提交、submit resp、回执、上行事件回传。
-
基础设施
- 创建
infra/docker-compose.yml,覆盖 PostgreSQL、Redis、MinIO。 - 创建
.env.example,列出 web/api/gateway/infra 的必要变量。 - 当前 Windows 本地可用 Redis portable;Linux/容器环境以 Docker Compose 为准。
- 创建
-
统一验证命令
- 根目录保留前端
npm run build。 - 增加 API 构建命令。
- 保留
npm run spike:contracts、npm run spike:bullmq、npm run spike:gateway。 - 阶段 1 完成时执行全套验证。
- 根目录保留前端
验收标准
- 前端:
npm run build通过。 - API:
cd api && npm run build通过,健康检查和 Swagger 入口代码存在。 - Gateway:
npm run spike:gateway通过。 - 队列契约:
npm run spike:contracts通过。 - BullMQ Spike:
npm run spike:bullmq通过。 - 基础设施:
infra/docker-compose.yml包含 PostgreSQL、Redis、MinIO。 - Prisma:
api/prisma/schema.prisma存在,API package 提供prisma:generate和迁移命令。 - 文档:
docs/phase-1-engineering-skeleton-progress.md记录每一步验证结果。