# 6.Checklist kiểm tra trước khi merge

### 6.1. Mục tiêu chương

<div id="bkmrk-">  
</div>Chương này quy định checklist bắt buộc trước khi merge code nhằm:

- Đảm bảo chất lượng code trước khi tích hợp
- Tránh vi phạm các quy định về kiến trúc và dữ liệu
- Giảm rủi ro lỗi khi build hoặc triển khai
- Chuẩn hóa quy trình review giữa Core Team và Partner

### 6.2. Khái niệm / phạm vi áp dụng

<div id="bkmrk--1">  
</div>Checklist này áp dụng cho:

- Tất cả Pull Request (PR)
- Core Team và Partner Team
- Mọi module trong hệ thống

Checklist được dùng trong:

- Code review
- Kiểm tra trước khi merge vào develop

**Kiểm tra trước khi release**

### 6.3. Quy định chính

<div id="bkmrk--2">  
</div>Pull Request chỉ được phép merge khi đáp ứng đầy đủ các điều kiện sau:

Code nằm trong khu vực được phép:  
  
modules/\*\*

1. Không sửa các khu vực bị cấm:

  
common/\*\*

config/\*\*

2. Không sửa shared entity trong:

  
common/entity/\*\*

3. Nếu có thay đổi database:
- Phải có migration script

5. API phải đúng chuẩn:

/api/v1/&lt;module-name&gt;

6. Response phải dùng:

ApiResponse&lt;T&gt;

 7.Build phải thành công

### 6.4. Cách thực hiện / quy trình

#### Quy trình kiểm tra trước khi merge

Bước 1: Dev hoàn thành feature hoặc fix bug  
Bước 2: Tạo Pull Request vào develop  
Bước 3: Dev tự kiểm tra checklist  
Bước 4: Core Team review theo checklist  
Bước 5: Nếu đạt yêu cầu → merge

Nếu không đạt:

- PR bị reject
- Dev phải sửa lại theo checklist

### 6.5. Ví dụ minh họa

#### Trường hợp hợp lệ

PR:

Chỉ sửa code trong:  
  
modules/planning/\*\*

- Có migration: V20260210\_\_add\_priority\_to\_planning.sql
- API: /api/v1/planning
- Build thành công

→ Được merge.

---

#### Trường hợp không hợp lệ

PR:

Sửa file:  
  
common/entity/UserEntity.java

- 

→ Vi phạm quy định shared entity.

→ PR bị từ chối.

---

#### Trường hợp bị từ chối do thiếu migration

PR:

Thêm field trong entity:  
  
private Integer priority;

- 
- Không có migration SQL

→ PR bị reject.

### 6.6. Checklist áp dụng

<div id="bkmrk--11">  
</div>Dev phải tick đủ các mục sau trước khi merge:

\[ \] Code nằm trong modules/\*\*

\[ \] Không sửa common/\*\*

\[ \] Không sửa config/\*\*

\[ \] Không sửa shared entity

\[ \] Có migration nếu thay đổi DB

\[ \] API đúng chuẩn /api/v1/

\[ \] Response dùng ApiResponse

\[ \] Build thành công

Core Team chỉ merge khi checklist đạt đầy đủ.