docs: clarify /api/carlog/* prefix + drop W3+ fitness plan
按用户反馈调整: 1. 路由前缀改成 /api/carlog/* (不再是 /api/vehicles 等) - DEV-PLAN.md Task 2.2 mount 全部加前缀 - 新增 Task 2.3.5: 前端 carlogApi helper - ARCHITECTURE.md 架构图 + 6.1/6.2 代码结构更新 - README.md 同步 2. 删除 W3+ 健身子系统计划 (用户还没决定下一子系统) - ARCHITECTURE.md W3+ 章节改成 "暂不规划" - README.md 实施路线只保留当前阶段 - DEV-PLAN.md "不做的事" 显式列出来 3. 加 Mavis review checklist (6.2/6.3/6.4) - 10 项检查清单 (DB/后端/前端/API baseURL/E2E/数据完整性) - 10 个常见坑 (JSON parse / TINYINT boolean / mount 顺序 ...) - review 通过标准
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# i — 个人生活操作系统
|
||||
|
||||
一个**单 Vue + 单 Express + 单 MySQL** 的生活操作系统平台,按表前缀分多子系统,永远单用户。
|
||||
一个**单 Vue + 单 Express + 单 MySQL** 的生活操作系统平台,按子系统分代码目录和 API 路径,永远单用户。
|
||||
|
||||
第一个子系统是 [CarLog](https://gitea.img2img.com/wsh5485/CarLog)(洗车管理系统),后续要加:健身、阅读、健康等。
|
||||
第一个子系统是 [CarLog](https://gitea.img2img.com/wsh5485/CarLog)(洗车管理系统),将来可能加:健身、阅读、健康等(**用户还没决定下一子系统,本阶段不做**)。
|
||||
|
||||
## 架构核心
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
│ └──────────────────────────────────────────────────────┘│
|
||||
│ │
|
||||
│ ┌──────────────────────────────────────────────────────┐│
|
||||
│ │ 🚗 CarLog | 💪 Fitness | 📚 Reading ││
|
||||
│ │ 🚗 CarLog | 未来子系统 ││
|
||||
│ └──────────────────────────────────────────────────────┘│
|
||||
│ │
|
||||
└────────────────────────────────────────────────────────┘
|
||||
@@ -23,8 +23,9 @@
|
||||
▼
|
||||
┌────────────────────────────────────────────────────────┐
|
||||
│ Express (一个进程) │
|
||||
│ ├── /api/platform/* (总设置 / 子系统管理) │
|
||||
│ ├── /api/{resource} (业务路由, 按子系统分组) │
|
||||
│ ├── /api/platform/* (总设置 / 子系统管理 / Dashboard) │
|
||||
│ ├── /api/carlog/* (CarLog 子系统, 全部带前缀) │
|
||||
│ └── /api/{future}/* (将来加的子系统) │
|
||||
└────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
@@ -36,6 +37,8 @@
|
||||
│ │
|
||||
│ 子系统表 (有前缀): │
|
||||
│ carlog_vehicles / carlog_wash_records / ... │
|
||||
│ │
|
||||
│ (将来加): │
|
||||
│ fitness_workouts / fitness_plans / ... │
|
||||
│ reading_books / reading_notes / ... │
|
||||
└────────────────────────────────────────────────────────┘
|
||||
@@ -45,8 +48,8 @@
|
||||
|
||||
| 维度 | 做法 |
|
||||
|---|---|
|
||||
| 数据 | 表前缀 `{subsystem}_*`(同一 DB 内) |
|
||||
| 路由 | 子系统自己的路径空间(`/api/{resource}`) |
|
||||
| 数据 | 表前缀 `{subsystem}_*`(同一 DB 内;CarLog 还没加前缀,留给将来加第二个子系统时) |
|
||||
| 路由 | 子系统自己的路径空间(`/api/carlog/*`) |
|
||||
| 代码 | 子系统独立目录(`server/src/subsystems/{name}/`、`client/src/views/subsystems/{name}/`) |
|
||||
| 设置 | 每个子系统有自己的 settings schema(JSON Schema,存 `platform_settings` 表,key 前缀 `{name}.*`) |
|
||||
| 菜单 | 每个子系统在 `subsystems` 表注册,平台层根据 `category` 分组渲染左侧导航 |
|
||||
@@ -55,24 +58,24 @@
|
||||
|
||||
## 实施路线
|
||||
|
||||
### W1: 平台骨架
|
||||
### 当前阶段(W1 + W2 一并做)
|
||||
|
||||
- [ ] `server/migrations/001_platform.sql`(subsystems + platform_settings 表 + seed CarLog)
|
||||
- [ ] `server/src/routes/platform/settings.js`
|
||||
- [ ] `server/src/routes/platform/subsystems.js`
|
||||
- [ ] `server/src/views/Platform/GlobalSettings.vue`
|
||||
- [ ] `client/src/views/Platform/SubsystemSettings.vue`(通用 JSON Schema 渲染器)
|
||||
- [ ] `client/src/AppLayout.vue` 改左侧菜单(按 category 分组)
|
||||
- [ ] `server/migrations/019_platform.sql`(subsystems + platform_settings 表 + seed CarLog)
|
||||
- [ ] `server/src/routes/platform/{subsystems,settings,dashboard}.js`
|
||||
- [ ] CarLog 代码移到 `server/src/subsystems/carlog/`(13 个路由文件)
|
||||
- [ ] CarLog 路由全部 mount 到 `/api/carlog/*`(不再是 `/api/vehicles`)
|
||||
- [ ] CarLog 前端 view 移到 `client/src/views/subsystems/carlog/`
|
||||
- [ ] 前端 API 改用 `carlogApi` helper(自动加 `/api/carlog/` 前缀)
|
||||
- [ ] `client/src/views/Platform/{GlobalSettings,SubsystemSettings,Subsystems}.vue`
|
||||
- [ ] `client/src/stores/platform.js` + `AppLayout.vue` 元数据驱动菜单
|
||||
- [ ] 测试(12-20 个平台测试)+ 手动 E2E 验证
|
||||
|
||||
### W2: CarLog 表前缀迁移
|
||||
### 暂不做(用户没决定)
|
||||
|
||||
- [ ] 把 CarLog 现有 14 张表加 `carlog_` 前缀(migration)
|
||||
- [ ] 改 server 端所有 SQL
|
||||
- [ ] 跑全测试套件
|
||||
|
||||
### W3+: 加第二个真子系统
|
||||
|
||||
- [ ] 写一个 Fitness 子系统(健身记录),验证端到端流程
|
||||
- ❌ 加第二个子系统(健身 / 阅读 / 任何)
|
||||
- ❌ CarLog 表前缀迁移(`carlog_*`)
|
||||
- ❌ 跨子系统 dashboard widget
|
||||
- ❌ 多用户 / RBAC / 多租户
|
||||
|
||||
## 路线原则
|
||||
|
||||
@@ -82,10 +85,11 @@
|
||||
- **物理目录隔离**:subsystem 代码独立目录,加新子系统不会乱碰现有代码
|
||||
- **永远向后兼容**:CarLog 的现有功能不破
|
||||
|
||||
详细见 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。
|
||||
详细见 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) 和 [docs/DEV-PLAN.md](docs/DEV-PLAN.md)。
|
||||
|
||||
## Git 仓库
|
||||
|
||||
- 仓库:https://gitea.img2img.com/wsh5485/i.git
|
||||
- 平台:Gitea
|
||||
- 推送:osxkeychain 自动记住 token
|
||||
- 推送:osxkeychain 自动记住 token
|
||||
Reference in New Issue
Block a user