Files
a-share-analysis/docs/features/GOV-009-application-scaffold-baseline/prd.md
T

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。
  • 单元测试、契约测试、构建、开发启动冒烟和适用的浏览器验证全部通过。