Quy ước chung

Các quy ước bắt buộc áp dụng cho mọi dự án tại PrimeCommerce.

Quy ước đặt tên


Git Workflow

Branch Strategy — GitHub Flow

Đặt tên branch

Format: type/FXX-YY-short-description

Yêu cầu PR

  • Title theo Conventional Commits
  • Description điền đầy đủ theo PR template
  • Ít nhất 1 approval từ team member
  • Tất cả CI checks pass
  • Không còn review comments chưa giải quyết

Commit Convention

Theo chuẩn Conventional Commits: type(scope): description

Types

Quy tắc

  • Tối đa 72 ký tự trên dòng subject
  • Dùng thì mệnh lệnh: “add”, “fix”, “update” (không phải “added”, “fixes”)
  • Tham chiếu ticket: feat(auth): add Google OAuth login (PROJ-123)

API Design

RESTful Endpoints

Response Format (bắt buộc)

HTTP Status Codes

Pagination


Coding Standards

TypeScript / JavaScript

Không sử dụng any trừ khi bắt buộc và có giải thích rõ ràng.
  • Dùng const mặc định, let chỉ khi cần gán lại
  • Ưu tiên async/await hơn .then() chains
  • Luôn xử lý lỗi rõ ràng — không silent catch
  • Dùng named exports (trừ pages/layouts)
  • Co-locate types với nơi sử dụng, chỉ chuyển sang types/ khi dùng chung

Ví dụ


Môi trường

Không bao giờ commit file .env. Dùng .env.example với placeholder values.

Security Checklist

Mỗi tính năng bắt buộc kiểm tra:
  • User input đã validate và sanitize
  • Kiểm tra authorization (không chỉ authentication)
  • Không có sensitive data trong logs
  • SQL injection được bảo vệ (dùng ORM/parameterized queries)
  • CORS cấu hình đúng cho production

Safety Conventions — Debug & Production Modes

Khi làm việc, đặc biệt trong production, tuân thủ quy ước an toàn: Ví dụ:
Khi dùng:
  • /guard: Cần inspect production state mà không down service
  • /freeze: Trước feature flag changes, deploy
  • /careful: Before migrations, bulk deletes, major refactors