PRD: Gói dịch vụ & cờ tính năng
| Module | Gói & giấy phép | PRD ID | PRD-PLN-001 |
| Trạng thái | Sẵn sàng dev | FEAT | PLN |
| Epic | — | Plane | BANA-1508 |
| Ngày | 2026-06-05 | Phiên bản | v1.0 |
| Gói | @nx/licensing | URD | PLN |
| Surface | Backend | ||
| Phụ trách | Phát Nguyễn | ||
Gói dịch vụ & cờ tính năng là gì
BANA được bán dưới dạng các gói dịch vụ (Plan) đóng gói những bộ tính năng và hạn mức thiết bị khác nhau. Sản phẩm cần một nơi duy nhất định nghĩa mỗi gói có gì, trước khi bất kỳ giấy phép nào được phát hành từ nó. Không có nơi đó, mỗi module lại tự định nghĩa gói và tính năng theo cách riêng, khiến danh mục gói không nhất quán và không tái sử dụng được giữa các bề mặt đăng ký, nâng cấp.
PRD này thiết lập khuôn mẫu gói: các gói tái sử dụng - dùng thử, thuê bao, vĩnh viễn - mang một thời hạn, một thời gian ân hạn, một hạn mức thiết bị, và một túi cờ tính năng (Feature Flag) có kiểu, với mã duy nhất trong mỗi gói.
Việc phát hành giấy phép nằm ở PRD khác
PRD này chỉ định nghĩa khuôn mẫu gói - không phát hành giấy phép, không chạy vòng đời, không kích hoạt thiết bị. Việc phát hành giấy phép, gia hạn, tạm ngưng, khôi phục, thu hồi, kích hoạt thiết bị và kiểm tra hiệu lực lúc chạy dựa trên các gói này được đặc tả ở PRD-ACT-001.
Một gói, từ lúc tạo tới lúc lưu trữ
| Việc xảy ra | Trạng thái gói |
|---|---|
| Người vận hành tạo gói, đặt thời hạn 365 ngày, ân hạn 15 ngày, hạn mức thiết bị | Đang soạn |
| Gắn các cờ tính năng có kiểu, mỗi mã duy nhất trong gói | Đang soạn |
| Đặt tên, mô tả song ngữ và thứ tự hiển thị | Đang soạn |
| Kích hoạt gói | Đang hoạt động - xuất hiện trong danh mục công khai đúng thứ tự |
| Gói không còn bán | Đã lưu trữ - biến mất khỏi danh mục, dữ liệu vẫn còn nguyên |
Một danh mục gói công khai liệt kê các gói đang hoạt động theo đúng thứ tự hiển thị, cho các bề mặt đăng ký và nâng cấp đọc.
Chỗ dễ sai nhất
Lưu trữ không phải xóa
Một gói không còn dùng được xóa mềm (lưu trữ) - không bao giờ bị xóa cứng khỏi ứng dụng. Gói biến mất khỏi danh mục công khai, nhưng dữ liệu của nó và mọi giấy phép đã phát hành từ nó vẫn còn nguyên. Mã của một cờ tính năng phải duy nhất trong mỗi gói, và ràng buộc này được ép ở tầng lưu trữ, không chỉ ở tầng ứng dụng.