3.5 KiB
3.5 KiB
应用工程脚手架基线 PRD
- 功能编号:GOV-009
- PRD 版本:0.1
- 状态:approved
- 日期:2026-08-13
问题
项目已经完成工程治理、部署配置、MySQL 5.7、Redis 和 RocketMQ 5.x 的架构基线,但 web/ 与 server/ 仍只有占位文件,尚不能启动、构建或承载市场概览功能。现有 Schema 工具也没有读取项目约定的 *.env.local,并只允许回环主机,无法对已经确认的固定远程开发库执行版本化结构备份。
目标
- 建立可独立开发和部署的 Vue 3 Web 与 NestJS Server 工程。
- Server 在同一工程内提供 API、Scheduler、Worker 三个独立进程入口。
- 建立统一的 Node.js 22 LTS、pnpm 10、TypeScript、检查、测试和构建入口。
- HTTP 契约由 Server 的 DTO 与 OpenAPI 定义,Web 使用生成客户端,不共享后端源码。
- RocketMQ 消息契约只在 Server 内由 Scheduler 与 Worker共享。
- 本地进程加载现有
deploy/env/development/*.env.local,同时保持真实配置不进入 Git。 - Schema 工具只允许读取固定开发配置,支持经过白名单批准的远程开发库。
- 为 FEAT-MO-001 提供能够直接开始页面开发的工程底座。
用户价值
开发者可以用明确命令安装依赖、启动 Web/API/Scheduler/Worker、运行测试和构建,并能在不复制接口类型、不泄漏密钥、不误触生产数据库的前提下持续开发市场分析功能。
范围
- 根 pnpm workspace 与统一版本约束。
- Vue 3、Vite、TypeScript、Vue Router、Pinia、Naive UI、Dart Sass、Vitest 和 Playwright 基础工程。
- NestJS API、Scheduler、Worker 多应用工程及共享后端库边界。
- Server 配置解析、条件必填和启动失败策略。
- API 健康检查、OpenAPI 产物与 Web 客户端生成链路。
- Redis 与 MySQL 开发连接健康检查;RocketMQ 保持配置可选和默认关闭。
- 源码构建所需 Dockerfile 与现有生产 Compose 命令对齐。
- Schema 开发配置路径、固定远程开发库白名单及空库基线处理。
非目标
- 不实现市场概览页面和业务指标。
- 不实现正式行情采集、AI 分析或付费功能。
- 不实现用户、邀请、权限、会员或订阅。
- 不把 HTTP DTO、数据库实体或消息事件做成前后端共享源码包。
- 不实现未经验证的 RocketMQ Node SDK;本功能只建立 Adapter 边界、配置校验和禁用态启动能力。
- 不创建、删除或修改生产基础设施与生产数据。
验收标准
- Node.js 非 22.x 时安装或校验入口明确失败,pnpm 主版本固定为 10。
- 根命令可以分别启动、测试和构建 Web、API、Scheduler、Worker。
- 三个 Server 进程共享配置和后端库,但拥有独立入口与最小配置读取范围。
- Web 不导入
server/源码;前端 API 类型来自提交或构建生成的 OpenAPI 客户端。 - RocketMQ 事件类型不进入 Web 构建产物。
- API 健康检查能够报告进程状态,并分别区分 Redis、MySQL 和禁用的 RocketMQ。
- 开发配置从
*.env.local加载,真实值继续被 Git 忽略,生产模板不获得开发地址或密码。 - Schema 工具只接受
development、a_share_analysis_dev、MySQL 5.7、utf8mb4_general_ci和固定主机白名单;其他远程主机立即拒绝。 - 空开发库可以生成可验证的 captured Schema 基线,不用空 SQL 冒充结构,也不退回
not_applicable。 - 单元测试、契约测试、构建、开发启动冒烟和适用的浏览器验证全部通过。