# 杜康好客 · 协同与开发规范 > **编码事实源**:根目录 [`杜康好客-V2编码手册.md`](./杜康好客-V2编码手册.md)(PRD + DB v3.1 + API + 计划 + 架构) > **preV1 Mock 联调**:[`杜康好客-preV1编码手册.md`](./杜康好客-preV1编码手册.md) --- ## 1. 代码所有权 见 [`.github/CODEOWNERS`](./.github/CODEOWNERS)。**2 人团队**(Git 账号): | Git 账号 | 角色 | 主责 | |----------|------|------| | `jacy-dukang` | 管理员 + 主责开发 | C 端、admin-web、后端主模块、横切 | | `刘京尧` | 开发 | 合伙人 H5、门店 H5、store/redeem 模块 | 端与后端模块边界: | 目录 | 负责人 | 说明 | |------|--------|------| | `apps/h5-user` | jacy-dukang | C 端 H5(V2 → mini-user) | | `apps/admin-web` | jacy-dukang | preV1 总部替代 | | `apps/h5-partner` | 刘京尧 | 合伙人 H5 | | `apps/h5-shop` | 刘京尧 | 门店 H5 | | `server/.../modules/{iam,trade,benefit,analytics}` | jacy-dukang | 交易与权益域 | | `server/.../modules/{catalog,settlement,ops}` | jacy-dukang | 开城与结算域 | | `server/.../modules/store` | 刘京尧 | 门店域 | | `server/.../modules/redeem` | 刘京尧 | 核销域 | | `server/.../callbacks`, `jobs`, `common`, `integrations` | jacy-dukang | 回调与任务 | | `packages/*` | jacy-dukang 主责;破坏性改动 @刘京尧 | 公共契约 | | `server/dukang-api/prisma` | jacy-dukang + 刘京尧(涉及 store/redeem 表时) | 迁移 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 无会员等级标签。