init
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# 杜康好客 · 协同与开发规范
|
||||
|
||||
> **编码事实源**:根目录 [`杜康好客-V2编码手册.md`](./杜康好客-V2编码手册.md)(PRD + DB v3.1 + API + 计划 + 架构)
|
||||
> **preV1 Mock 联调**:[`杜康好客-preV1编码手册.md`](./杜康好客-preV1编码手册.md)
|
||||
|
||||
---
|
||||
|
||||
## 1. 代码所有权
|
||||
|
||||
见 [`.github/CODEOWNERS`](./.github/CODEOWNERS)。端与后端模块边界:
|
||||
|
||||
| 目录 | Owner | 说明 |
|
||||
|------|-------|------|
|
||||
| `apps/mini-user` | @dev-a | C端小程序 |
|
||||
| `apps/mini-partner` | @dev-b | 城市合伙人小程序 |
|
||||
| `apps/mini-hq` | @dev-c | 总部管理小程序 |
|
||||
| `apps/h5-shop` | @dev-d | 门店 H5 |
|
||||
| `server/.../modules/{iam,trade,benefit,analytics}` | @dev-a | 交易与权益域 |
|
||||
| `server/.../modules/store` | @dev-b | 门店域 |
|
||||
| `server/.../modules/{catalog,settlement,ops}` | @dev-c | 开城与结算域 |
|
||||
| `server/.../modules/redeem` | @dev-d | 核销域 |
|
||||
| `server/.../callbacks`, `jobs`, `common` | @backend-lead | 回调与任务 |
|
||||
| `packages/*` | 全员 + @tech-lead | 公共契约,破坏性改动谨慎 |
|
||||
| `server/dukang-api/prisma` | 全部 Owner | 迁移必须多人 Review |
|
||||
|
||||
---
|
||||
|
||||
## 2. 模块边界(机器 + 人工)
|
||||
|
||||
- 任一 `apps/*` **禁止** import 另一个 app 或 `server/*` 源码。
|
||||
- 后端 Module **禁止** 跨模块直写 Prisma 表,只 inject 对方 `exports` 的 Service(见编码手册 §四 §2.5)。
|
||||
- 共享逻辑:`packages/shared-types`(DTO/枚举)、`packages/domain`(纯函数规则)。
|
||||
- 计划引入 `eslint-plugin-boundaries`,在 `pnpm lint` / CI 阶段强制。
|
||||
|
||||
---
|
||||
|
||||
## 3. 接口契约
|
||||
|
||||
- 单一事实源:`packages/shared-types` + `杜康好客-V2编码手册.md` §六。
|
||||
- **加法优先**:新字段 optional;删除/改名先 deprecated。
|
||||
- 改了 API 必须同步更新手册 §六 与 shared-types。
|
||||
- 破坏性变更走 URI 版本 `/v1` → `/v2`。
|
||||
|
||||
---
|
||||
|
||||
## 4. 数据库契约(v3.1)
|
||||
|
||||
- 表结构事实源:编码手册 **§五**(28 表,`user_`/`common_`/`log_` 等前缀)。
|
||||
- Prisma schema 与手册保持一致;初始化 SQL 见 `server/dukang-api/prisma/init_v3.sql`。
|
||||
- 关键约定:
|
||||
- C 端 `user_user.phone` 唯一;B 端 `store_account` / `partner_account` / `hq_account` 三表分离
|
||||
- 无 `payments` / `user_order_item` / `redeem_tokens` 表
|
||||
- 埋点 → `log_user_analytics`;业务事件 → `common_event`;工单 → `common_ticket`
|
||||
|
||||
---
|
||||
|
||||
## 5. 分支与提交
|
||||
|
||||
- feature 分支 + 小步 PR;跨模块改动需相关双 Owner Review。
|
||||
- Conventional Commits,scope 用端或模块名:`feat(user)`、`fix(trade)`、`chore(shared-types)`。
|
||||
|
||||
---
|
||||
|
||||
## 6. 本地环境
|
||||
|
||||
- Docker Compose 起 MySQL + Redis + server(M0 交付 `deploy/docker-compose.yml`)。
|
||||
- 敏感配置走 `.env`,不入库。
|
||||
- `DATABASE_URL` 配置后:`npx prisma migrate dev` 或执行 `init_v3.sql`。
|
||||
|
||||
---
|
||||
|
||||
## 7. 原型参照
|
||||
|
||||
- UI 以 `pages/{user,shop,partner,hq}/` 为准;与 PRD 映射见编码手册 **§二、§三**。
|
||||
- C 端订单列表必须为 **5 Tab**(含待发货);V1 无会员等级标签。
|
||||
Reference in New Issue
Block a user