Skip to content

项目配置

项目概览

  • 名称:电商平台
  • 技术栈:Node.js、PostgreSQL、React 18、Docker
  • 团队规模:5 名开发者
  • 截止时间:2025 年第 4 季度

架构

@docs/architecture.md @docs/api-standards.md @docs/database-schema.md

开发规范

代码风格

  • 使用 Prettier 格式化
  • 使用带 airbnb 配置的 ESLint
  • 最大行长度:100 字符
  • 使用 2 空格缩进

命名规范

  • 文件:kebab-case(user-controller.js
  • :PascalCase(UserService
  • 函数 / 变量:camelCase(getUserById
  • 常量:UPPER_SNAKE_CASE(API_BASE_URL
  • 数据库表:snake_case(user_accounts

Git 工作流

  • 分支命名:feature/descriptionfix/description
  • 提交信息:遵循 conventional commits
  • 合并前必须有 PR
  • 所有 CI/CD 检查都必须通过
  • 至少需要 1 个 approval

测试要求

  • 最低 80% 代码覆盖率
  • 所有关键路径都必须有测试
  • 单元测试使用 Jest
  • E2E 测试使用 Cypress
  • 测试文件名:*.test.ts*.spec.ts

API 规范

  • 只允许 RESTful 端点
  • 请求 / 响应都使用 JSON
  • 正确使用 HTTP 状态码
  • API 版本路径:/api/v1/
  • 所有端点都要带示例文档

数据库

  • schema 变更使用 migrations
  • 绝不硬编码凭据
  • 使用连接池
  • 开发环境启用查询日志
  • 需要定期备份

部署

  • 基于 Docker 的部署
  • 使用 Kubernetes 编排
  • 蓝绿部署策略
  • 失败时自动回滚
  • 部署前先执行数据库迁移

常用命令

命令作用
npm run dev启动开发服务器
npm test运行测试套件
npm run lint检查代码风格
npm run build构建生产版本
npm run migrate执行数据库迁移

团队联系人

  • 技术负责人:Sarah Chen(@sarah.chen)
  • 产品经理:Mike Johnson(@mike.j)
  • 运维:Alex Kim(@alex.k)

已知问题与解决方案

  • PostgreSQL 连接池在高峰期限制为 20
  • 解决方法:实现查询排队
  • Safari 14 对 async generator 的兼容性有问题
  • 解决方法:使用 Babel 转译器

关联项目

  • 分析仪表盘:/projects/analytics
  • 移动端 App:/projects/mobile
  • 管理后台:/projects/admin