02-开发计划.md
2.91 KB
02-开发计划
一、模块依赖表
| 模块 ID | 模块名 | 依赖模块 | 依赖表 |
|---|---|---|---|
| module_usr | 用户管理 | — |
tUser, tEmployee, tPermission, tUserPermission, tCompany
|
二、开发顺序清单(CC 分发权威)
本清单由 A5
downstream-gen一次性生成。每行是一个 REQ,不是模块。CC 按表格行序从上到下扫描,对每个 REQ 所属模块查docs/08 § 二的MR:字段 + GitLab APIstate:merged跳过,其他(—/ opened / closed / 查不到)选为当前模块;module-start会把该模块的所有 REQ 一次做完。约束:同一模块的所有 REQ 必须连续排列。允许打破依赖拓扑(如环依赖、业务必须先做),但必须在「备注」列写明原因。
| # | REQ | 所属模块 | 选中理由 | 备注 |
|---|---|---|---|---|
| 1 | REQ-USR-001 | module_usr | 所属模块无依赖,基础模块;本 REQ 创建用户主记录,是后续修改 / 查询 / 登录的前置 | — |
| 2 | REQ-USR-002 | module_usr | 依赖 REQ-USR-001 已在前(修改基于已存在的用户记录) | — |
| 3 | REQ-USR-003 | module_usr | 依赖 REQ-USR-001 已在前(查询基于已存在的用户记录) | — |
| 4 | REQ-USR-004 | module_usr | 依赖 REQ-USR-001 已在前(登录校验已存在的用户名 + 密码);同模块尾位以承接前 3 个的用户数据 | — |
后端模块全部 merged 后:用户重跑
/erp-workflow:coding-start→ coding-start 检测到backend_done=true && frontend_done=false→ 派发frontend-start。frontend-start步骤 1 自带 prototype/ 门禁(≥ 1 个*.htmlmockup,缺失则 AskUserQuestion 提示用户补齐)。前端阶段以业务功能(不是 HTML 文件数)为粒度拆分 FE,每个 FE 跑一次 feature 循环(fe-feature-*),最后整个阶段合 1 个 MR(分支frontend-phase,记录在docs/08 § 三 整体 MR)。
三、关键说明
-
模块粒度合 MR:本项目当前只有一个后端模块
module_usr,4 个 REQ 在同一分支(如module-usr)里依次实现,最后合 1 个 MR。 -
REQ 实现顺序:在同模块内允许 CC 根据实际依赖局部调整(如先做骨架接口再做业务规则),但完成后所有 4 个 REQ 的子项必须勾选并通过
feature-review,否则test-gate不放行。 -
种子数据:
tEmployee/tPermission/tCompany三张字典表在 REQ-USR-001 实现前需要少量种子(通过 FlywayR__seed.sql或集成测试@Sql注入),便于 REQ-USR-001 的"员工名/版本/权限组"下拉测试。具体种子内容由 feature-tdd 落到测试 fixture,不进 V_n migration。 -
登录失败锁定:REQ-USR-004 的"连续失败阈值"与"锁定时长"由
application.yml配置项app.security.max-login-fail/app.security.lock-minutes注入,默认 5 / 30。