Files
lislgosms/docs/phase-1-engineering-skeleton-plan.md
T

2.4 KiB
Raw Permalink Blame History

阶段 1 工程骨架实施计划

目标

让前端原型、NestJS API、Go CMPP Gateway 和基础设施具备稳定启动、构建、测试和文档入口,为阶段 2 到阶段 8 的业务开发提供工程底座。

实施步骤

  1. 文档与阶段门

    • 创建阶段 1 计划和进度记录。
    • 明确阶段 1 不实现完整业务,只建立工程骨架。
  2. 前端工程边界

    • 当前 React + TypeScript + Vite 原型暂时保留在仓库根目录。
    • 第一版继续保留短信业务和账户计费入口,彩信入口保持待开发或后续隐藏。
    • 后续如迁移到 web/,需单独做无行为变化迁移。
  3. NestJS API 骨架

    • 创建 api/package.jsontsconfig.jsonsrc/main.tssrc/app.module.ts
    • 配置健康检查接口。
    • 配置 Swagger/OpenAPI 文档入口。
    • 配置环境变量读取。
    • 保留阶段 0 BullMQ Spike 脚本。
  4. Prisma 与数据库流程

    • 创建 api/prisma/schema.prisma
    • 建立 prisma generate 和迁移命令入口。
    • 阶段 1 只定义基础连接和首批占位模型,不展开完整业务表。
  5. Go Gateway 骨架

    • 保留阶段 0 gocmpp 适配、追踪器、重连状态机和 Spike 测试。
    • 增加健康检查 HTTP server 入口。
    • 明确 Gateway 只做 CMPP 连接、提交、submit resp、回执、上行事件回传。
  6. 基础设施

    • 创建 infra/docker-compose.yml,覆盖 PostgreSQL、Redis、MinIO。
    • 创建 .env.example,列出 web/api/gateway/infra 的必要变量。
    • 当前 Windows 本地可用 Redis portableLinux/容器环境以 Docker Compose 为准。
  7. 统一验证命令

    • 根目录保留前端 npm run build
    • 增加 API 构建命令。
    • 保留 npm run spike:contractsnpm run spike:bullmqnpm run spike:gateway
    • 阶段 1 完成时执行全套验证。

验收标准

  • 前端:npm run build 通过。
  • APIcd api && npm run build 通过,健康检查和 Swagger 入口代码存在。
  • Gatewaynpm run spike:gateway 通过。
  • 队列契约:npm run spike:contracts 通过。
  • BullMQ Spikenpm run spike:bullmq 通过。
  • 基础设施:infra/docker-compose.yml 包含 PostgreSQL、Redis、MinIO。
  • Prismaapi/prisma/schema.prisma 存在,API package 提供 prisma:generate 和迁移命令。
  • 文档:docs/phase-1-engineering-skeleton-progress.md 记录每一步验证结果。