Răsfoiți Sursa

📝 docs(prd): update package structure and development progress for mini-auth modules integration

- adjust package naming convention: rename core packages to shared-* prefix
- update package architecture diagram with new package names and statuses
- revise phase 1 completion status and mark as done with ✅
- update story 1 description to reflect actual package splitting work
- add current progress summary section with completed and pending tasks
- update dependency examples for all packages to match new naming convention
- adjust package dependency hierarchy diagram
- update package.json dependency examples for shared and business modules
yourname 4 săptămâni în urmă
părinte
comite
806241ef33
1 a modificat fișierele cu 103 adăugiri și 101 ștergeri
  1. 103 101
      docs/prd/epic-005-mini-auth-modules-integration.md

+ 103 - 101
docs/prd/epic-005-mini-auth-modules-integration.md

@@ -41,16 +41,18 @@
 ```
 packages/
 ├── server/                    # 核心服务器 (现有,重构后)
-├── crud-core/                 # CRUD核心基础设施 (新增)
-├── database-core/             # 数据库核心 (新增)
-├── auth-core/                 # 认证核心 (新增)
-├── utils-core/                # 工具核心 (新增)
 ├── shared-types/              # 共享类型定义 (新增)
-├── mini-auth/                 # 小程序认证增强 (新增)
-├── mini-payment/              # 小程序支付 (新增)
-├── geo-areas/                 # 地区模块 (新增)
-├── geo-locations/             # 地点模块 (新增)
-└── passenger-management/      # 乘客管理 (新增)
+├── shared-utils/              # 工具核心 (新增)
+├── shared-crud/               # CRUD核心基础设施 (新增)
+├── shared-test-util/          # 测试基础设施 (新增)
+├── user-module/               # 用户管理模块 (新增)
+├── auth-module/               # 认证管理模块 (新增)
+├── file-module/               # 文件管理模块 (新增)
+├── mini-auth/                 # 小程序认证增强 (待实现)
+├── mini-payment/              # 小程序支付 (待实现)
+├── geo-areas/                 # 地区模块 (待实现)
+├── geo-locations/             # 地点模块 (待实现)
+└── passenger-management/      # 乘客管理 (待实现)
 ```
 
 **How it integrates:**
@@ -71,14 +73,13 @@ packages/
 
 ## Stories
 
-### 阶段 1: 基础设施重构
-1. **Story 1:** 基础设施核心包 - 从 packages/server/src 拆分迁移 shared-types、database-core、auth-core、utils-core package
-2. **Story 2:** CRUD基础设施包 - 从 packages/server/src 拆分迁移 crud-core package,重构server依赖关系
+### 阶段 1: 基础设施重构 (已完成 ✅)
+1. **Story 1:** 基础设施和业务模块包拆分 - 从 packages/server/src 拆分迁移 shared-types、shared-utils、shared-crud、shared-test-util、user-module、auth-module、file-module package,重构server依赖关系
 
 ### 阶段 2: 业务模块 Package 化
-3. **Story 3:** 地区模块 package - 从 mini-auth-demo/packages/server/src 拆分反哺省市区三级联动数据管理和API
-4. **Story 4:** 地理位置和乘客模块 package - 从 mini-auth-demo/packages/server/src 拆分反哺地点模块和乘客管理模块
-5. **Story 5:** 小程序生态模块 package - 从 mini-auth-demo/packages/server/src 拆分反哺小程序认证和支付模块
+2. **Story 2:** 地区模块 package - 从 mini-auth-demo/packages/server/src 拆分反哺省市区三级联动数据管理和API
+3. **Story 3:** 地理位置和乘客模块 package - 从 mini-auth-demo/packages/server/src 拆分反哺地点模块和乘客管理模块
+4. **Story 4:** 小程序生态模块 package - 从 mini-auth-demo/packages/server/src 拆分反哺小程序认证和支付模块
 
 ## Compatibility Requirements
 
@@ -109,13 +110,14 @@ packages/
 
 ## Definition of Done
 
-- [ ] 所有 stories 完成且验收标准满足
-- [ ] 现有功能通过回归测试验证
-- [ ] 集成点正常工作,API 调用无冲突
-- [ ] 模块文档和类型定义完整
-- [ ] 现有功能无回归问题
-- [ ] 所有 package 独立构建和测试通过
-- [ ] Package 依赖关系清晰,无循环依赖
+- [x] 阶段 1 stories 完成且验收标准满足
+- [x] 现有功能通过回归测试验证
+- [x] 集成点正常工作,API 调用无冲突
+- [x] 模块文档和类型定义完整
+- [x] 现有功能无回归问题
+- [x] 所有 package 独立构建和测试通过
+- [x] Package 依赖关系清晰,无循环依赖
+- [ ] 阶段 2 stories 完成且验收标准满足
 
 ## 架构设计详情
 
@@ -127,43 +129,51 @@ packages/
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-├── crud-core/                 # CRUD核心基础设施 (新增)
+├── shared-types/              # 共享类型定义 (新增)
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-├── database-core/             # 数据库核心 (新增)
+├── shared-utils/              # 工具核心 (新增)
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-├── auth-core/                 # 认证核心 (新增)
+├── shared-crud/               # CRUD核心基础设施 (新增)
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-├── utils-core/                # 工具核心 (新增)
+├── shared-test-util/          # 测试基础设施 (新增)
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-├── shared-types/              # 共享类型定义 (新增)
+├── user-module/               # 用户管理模块 (新增)
+│   ├── src/
+│   ├── package.json
+│   └── tsconfig.json
+├── auth-module/               # 认证管理模块 (新增)
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-├── mini-auth/                 # 小程序认证增强 (新增)
+├── file-module/               # 文件管理模块 (新增)
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-├── mini-payment/              # 小程序支付 (新增)
+├── mini-auth/                 # 小程序认证增强 (待实现)
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-├── geo-areas/                 # 地区模块 (新增)
+├── mini-payment/              # 小程序支付 (待实现)
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-├── geo-locations/             # 地点模块 (新增)
+├── geo-areas/                 # 地区模块 (待实现)
 │   ├── src/
 │   ├── package.json
 │   └── tsconfig.json
-└── passenger-management/      # 乘客管理 (新增)
+├── geo-locations/             # 地点模块 (待实现)
+│   ├── src/
+│   ├── package.json
+│   └── tsconfig.json
+└── passenger-management/      # 乘客管理 (待实现)
     ├── src/
     ├── package.json
     └── tsconfig.json
@@ -175,26 +185,24 @@ packages/
 ```
 shared-types (基础类型)
-database-core (数据库基础设施)
+shared-utils (工具基础设施)
-auth-core (认证基础设施) + utils-core (工具基础设施)
+shared-crud (CRUD基础设施) + shared-test-util (测试基础设施)
-crud-core (CRUD基础设施)
-    ↑
-业务模块 (geo-areas, mini-auth等)
+业务模块 (user-module, auth-module, file-module)
 server (应用入口)
 ```
 
 #### 基础设施 Package 依赖关系
 
-**crud-core package**
+**shared-crud package**
 ```json
 {
-  "name": "@d8d/crud-core",
+  "name": "@d8d/shared-crud",
   "dependencies": {
     "@d8d/shared-types": "workspace:*",
-    "@d8d/database-core": "workspace:*",
+    "@d8d/shared-utils": "workspace:*",
     "typeorm": "^0.3.20",
     "@hono/zod-openapi": "1.0.2",
     "zod": "^4.1.12"
@@ -202,36 +210,31 @@ server (应用入口)
 }
 ```
 
-**database-core package**
+**shared-utils package**
 ```json
 {
-  "name": "@d8d/database-core",
+  "name": "@d8d/shared-utils",
   "dependencies": {
     "@d8d/shared-types": "workspace:*",
+    "jsonwebtoken": "^9.0.2",
+    "bcrypt": "^6.0.0",
     "typeorm": "^0.3.20",
     "pg": "^8.16.3"
   }
 }
 ```
 
-**auth-core package**
-```json
-{
-  "name": "@d8d/auth-core",
-  "dependencies": {
-    "@d8d/shared-types": "workspace:*",
-    "jsonwebtoken": "^9.0.2",
-    "bcrypt": "^6.0.0"
-  }
-}
-```
-
-**utils-core package**
+**shared-test-util package**
 ```json
 {
-  "name": "@d8d/utils-core",
+  "name": "@d8d/shared-test-util",
   "dependencies": {
-    "@d8d/shared-types": "workspace:*"
+    "@d8d/shared-utils": "workspace:*",
+    "typeorm": "^0.3.20",
+    "vitest": "^3.2.4"
+  },
+  "peerDependencies": {
+    "hono": "^4.8.5"
   }
 }
 ```
@@ -248,63 +251,50 @@ server (应用入口)
 
 #### 业务模块 Package 依赖关系
 
-**geo-areas package**
+**user-module package**
 ```json
 {
-  "name": "@d8d/geo-areas",
+  "name": "@d8d/user-module",
   "dependencies": {
     "@d8d/shared-types": "workspace:*",
-    "@d8d/crud-core": "workspace:*",
+    "@d8d/shared-utils": "workspace:*",
+    "@d8d/shared-crud": "workspace:*",
     "typeorm": "^0.3.20"
+  },
+  "devDependencies": {
+    "@d8d/shared-test-util": "workspace:*"
   }
 }
 ```
 
-**geo-locations package**
+**auth-module package**
 ```json
 {
-  "name": "@d8d/geo-locations",
+  "name": "@d8d/auth-module",
   "dependencies": {
     "@d8d/shared-types": "workspace:*",
-    "@d8d/crud-core": "workspace:*",
-    "@d8d/geo-areas": "workspace:*",
+    "@d8d/shared-utils": "workspace:*",
+    "@d8d/user-module": "workspace:*",
     "typeorm": "^0.3.20"
+  },
+  "devDependencies": {
+    "@d8d/shared-test-util": "workspace:*"
   }
 }
 ```
 
-**passenger-management package**
+**file-module package**
 ```json
 {
-  "name": "@d8d/passenger-management",
+  "name": "@d8d/file-module",
   "dependencies": {
     "@d8d/shared-types": "workspace:*",
-    "@d8d/crud-core": "workspace:*",
+    "@d8d/shared-utils": "workspace:*",
+    "@d8d/shared-crud": "workspace:*",
     "typeorm": "^0.3.20"
-  }
-}
-```
-
-**mini-auth package**
-```json
-{
-  "name": "@d8d/mini-auth",
-  "dependencies": {
-    "@d8d/shared-types": "workspace:*",
-    "@d8d/auth-core": "workspace:*",
-    "jsonwebtoken": "^9.0.2",
-    "axios": "^1.12.2"
-  }
-}
-```
-
-**mini-payment package**
-```json
-{
-  "name": "@d8d/mini-payment",
-  "dependencies": {
-    "@d8d/shared-types": "workspace:*",
-    "wechatpay-node-v3": "^1.0.0"
+  },
+  "devDependencies": {
+    "@d8d/shared-test-util": "workspace:*"
   }
 }
 ```
@@ -315,16 +305,11 @@ server (应用入口)
   "name": "@d8d/server",
   "dependencies": {
     "@d8d/shared-types": "workspace:*",
-    "@d8d/crud-core": "workspace:*",
-    "@d8d/database-core": "workspace:*",
-    "@d8d/auth-core": "workspace:*",
-    "@d8d/utils-core": "workspace:*",
-    // 业务模块依赖
-    "@d8d/geo-areas": "workspace:*",
-    "@d8d/geo-locations": "workspace:*",
-    "@d8d/passenger-management": "workspace:*",
-    "@d8d/mini-auth": "workspace:*",
-    "@d8d/mini-payment": "workspace:*",
+    "@d8d/shared-utils": "workspace:*",
+    "@d8d/shared-crud": "workspace:*",
+    "@d8d/user-module": "workspace:*",
+    "@d8d/auth-module": "workspace:*",
+    "@d8d/file-module": "workspace:*",
     // 其他现有依赖保持不变
   }
 }
@@ -546,6 +531,23 @@ import {
 
 ---
 
+## 当前进展总结
+
+### 已完成 ✅
+- **阶段 1: 基础设施重构** - 全部完成
+  - **Story 1:** 基础设施和业务模块包拆分 - 已完成
+  - 创建了 4 个基础设施包:shared-types、shared-utils、shared-crud、shared-test-util
+  - 创建了 3 个业务模块包:user-module、auth-module、file-module
+  - 成功重构 server package 依赖关系
+  - 所有包通过单元测试和集成测试验证
+  - 保持向后兼容性,现有功能无回归
+
+### 待完成 🔄
+- **阶段 2: 业务模块 Package 化** - 待实现
+  - **Story 2:** 地区模块 package (geo-areas)
+  - **Story 3:** 地理位置和乘客模块 package (geo-locations, passenger-management)
+  - **Story 4:** 小程序生态模块 package (mini-auth, mini-payment)
+
 ## Story Manager Handoff
 
 "请为这个brownfield epic开发详细的用户故事。关键考虑因素: