11.Quy trình phối hợp & quản lý thay đổi liên nhóm
11.1. Mục tiêu chương
Chương này quy định cách phối hợp giữa nhiều đơn vị phát triển nhằm:
-
Tránh xung đột giữa FE, BE và Database
-
Đảm bảo tích hợp ổn định
-
Giữ tính tương thích giữa các module
-
Kiểm soát các thay đổi ảnh hưởng hệ thống
11.2. Khái niệm / phạm vi áp dụng
Áp dụng khi:
-
Có nhiều đơn vị cùng phát triển
-
FE và BE tách source
-
Nhiều FE dùng chung BE
-
BE tách thành nhiều service
Mọi thay đổi liên quan:
-
API contract
-
Entity/Database
-
Auth
-
Domain/CORS
đều phải thông qua Core Team.
11.3. Quy định chính
Nguyên tắc chung
-
Dùng contract-first (OpenAPI là nguồn chuẩn)
-
Mọi thay đổi API hoặc DB phải được kiểm soát
-
Mọi thay đổi breaking phải qua Core Team
Trường hợp FE và BE khác source, dùng chung DB
Rủi ro:
-
Sai contract API
-
Response làm FE vỡ
-
Migration xung đột
Quy định:
-
BE thay đổi API/DB phải update OpenAPI
-
Mọi thay đổi DB phải có migration
-
Staging dùng DB chung
Quy trình:
-
FE tạo ticket: API CONTRACT ISSUE
-
BE/Core xác nhận
-
Fix backward compatible hoặc tạo API v2
Trường hợp FE và BE dùng DB riêng khi dev
Quy định:
-
Có DB baseline chung
-
Staging dùng DB chung
Quy trình:
-
Nếu staging lỗi → so version migration
-
Không cho merge nếu thiếu migration
Trường hợp nhiều FE dùng chung một BE
Quy định:
-
Dùng IdP chung (WSO2/Keycloak)
-
Mỗi FE là một OAuth client riêng
-
Gọi API bằng JWT
Quy trình:
-
FE đăng ký client_id
-
Core cấu hình redirectUri, scope
-
Core cấp quyền
Trường hợp FE chung source, BE nhiều service
Quy định:
-
FE cấu hình baseURL theo service
-
Auth dùng token chung
-
CORS do Core Team quản lý
Quy trình:
-
Thêm service → tạo Integration Checklist
-
Core cấu hình CORS và token audience
Trường hợp thay đổi response làm FE vỡ
Quy định:
-
Chỉ được thêm field (non-breaking)
-
Không đổi kiểu dữ liệu
-
Không rename field
-
Breaking change phải tạo /api/v2
Quy trình:
-
Tạo BREAKING CHANGE REQUEST
-
Core duyệt
-
Thông báo FE
Trường hợp xung đột entity/model
Quy định:
-
Entity dùng chung → coi là shared model
-
Phải qua Data Model Change Request
Quy trình:
-
Partner đề xuất field + migration
-
Core review
-
Approve hoặc yêu cầu sửa
Trường hợp migration xung đột
Quy định:
-
Không sửa migration đã merge
-
Tạo migration mới để fix forward
Quy trình:
-
Rebase
-
Tạo migration mới
-
Test staging
Trường hợp seed/master data bị sửa
Quy định:
-
Seed core do Core Team quản lý
-
Partner chỉ được đề xuất
Quy trình:
-
Tạo MASTER DATA REQUEST
-
Core duyệt và triển khai
11.4. Quy trình triển khai tính năng nhiều tầng
-
Tạo ticket Feature
-
Chốt API contract (OpenAPI)
-
Chốt entity/migration
-
BE implement
-
FE integrate
-
Test staging
-
Release
11.5.Ví dụ minh họa
1. bảng mô tả các môi trường hệ thống:
| Env | FE URL | BE URL | DB | Auth |
|---|---|---|---|---|
| dev | http://localhost:4200 | http://localhost:8080 | local | mock |
| staging | https://staging.app.vn | https://staging.api.vn | shared | WSO2 thật |
| prod | https://app.vn | https://api.vn | prod | WSO2 thật |
Không có bình luận nào để hiển thị
Không có bình luận nào để hiển thị