Gói & Đăng ký Phase A Built
Tài liệu nghiệp vụ (BA)
UC — Use Case · SRS — Đặc tả yêu cầu · UI — Đặc tả giao diện
Gói & Đăng ký quyết định mỗi cơ sở sân được phép chạy những tính năng NexPickle nào. Người vận hành nền tảng định nghĩa các gói tái sử dụng (dùng thử 14 ngày, Basic, Pro) kèm theo các cờ tính năng có kiểu và hạn mức thiết bị; hệ thống phát hành giấy phép từ một gói, ràng buộc nó vào một cơ sở sân hoặc người dùng, theo dõi vòng đời của nó, và kiểm tra hiệu lực lúc chạy - trả về một chứng chỉ đã ký mà phần còn lại của sản phẩm tin cậy ngoại tuyến để giới hạn tính năng và thiết bị. Module được dùng bởi người vận hành nền tảng (quản lý gói và giấy phép), Chủ sân (chạy trên một giấy phép và tự cấp gói dùng thử miễn phí), và mọi service khác (thực thi các quyền sử dụng phát sinh).
1. Định danh
| Thuộc tính | Giá trị |
|---|---|
| Module ID | CORE-15 |
| Hạng | Core |
| Trạng thái | Built |
| Giai đoạn | P1 (Gói + Giấy phép + Kiểm tra hiệu lực), P2 (Kích hoạt + Gói dùng thử + Phân phối chứng chỉ) |
| Ưu tiên | HIGH |
| Người dùng chính | Người vận hành nền tảng · Chủ sân · Các service khác (thực thi quyền sử dụng) |
2. Mục đích & Phạm vi
| Bao gồm | Loại trừ |
|---|---|
| Gói tái sử dụng: dùng thử 14 ngày, Basic, Pro | Hoá đơn, lập hoá đơn, và nhắc nợ |
| Cờ tính năng có kiểu và hạn mức thiết bị theo gói | Tích hợp thanh toán / tính phí thuê bao |
| Danh mục gói công khai cho các màn hình đăng ký | Đo lường mức sử dụng và theo dõi nhịp tim |
| Phát hành giấy phép, gia hạn, tạm ngưng, khôi phục, thu hồi | Thực thi tính năng lúc chạy (mỗi service tiêu thụ tự làm) |
| Tự cấp gói dùng thử 14 ngày miễn phí | Giao diện quản lý giấy phép (việc của frontend) |
| Kích hoạt thiết bị (ràng buộc fingerprint máy POS/tablet, hạn mức thiết bị) | Xác minh chứng chỉ (mọi service khác tự làm ngoại tuyến) |
| Kiểm tra hiệu lực lúc chạy trả về chứng chỉ đã ký | Quét hết hạn chủ động (hết hạn được phát hiện lười, lúc kiểm tra) |
| Ghi đè mặc định của gói theo từng giấy phép | |
| Nhật ký kiểm toán sự kiện giấy phép chỉ-thêm |
3. Năng lực
| Năng lực | Người dùng có thể làm gì |
|---|---|
| Quản lý gói | Định nghĩa các gói tái sử dụng (dùng thử 14 ngày / Basic / Pro) với thời hạn, thời gian ân hạn, và hạn mức thiết bị |
| Cờ tính năng & hạn mức | Gắn cờ có kiểu (boolean / number / text / json) vào một gói để bật/tắt tính năng (đặt sân nâng cao, đa chi nhánh, báo cáo Pro) và đặt hạn mức số (số sân, số máy POS) |
| Danh mục gói | Phơi bày danh sách các gói đang hoạt động, kèm tính năng, ra các màn hình đăng ký và nâng cấp |
| Phát hành giấy phép | Phát hành giấy phép từ một gói, ràng buộc vào một cơ sở sân hoặc người dùng, với khoá giấy phép duy nhất |
| Vòng đời giấy phép | Gia hạn, tạm ngưng, khôi phục, và thu hồi một giấy phép, mỗi hành động đều được kiểm toán và cấp lại chứng chỉ |
| Gói dùng thử miễn phí | Chủ sân tự cấp một giấy phép dùng thử 14 ngày miễn phí mà không cần người vận hành |
| Kích hoạt thiết bị | Ràng buộc một giấy phép vào các thiết bị cụ thể (máy POS, tablet quầy) bằng fingerprint, bị giới hạn bởi hạn mức thiết bị của gói |
| Kiểm tra hiệu lực lúc chạy | Kiểm tra một khoá giấy phép và nhận về trạng thái, tập tính năng đã phân giải, và một chứng chỉ đã ký |
| Ghi đè theo giấy phép | Ghi đè hạn mức thiết bị hoặc giá trị tính năng của một gói cho một giấy phép cụ thể |
| Dấu vết kiểm toán | Mọi hành động vòng đời được ghi lại trong nhật ký sự kiện chỉ-thêm |
4. Phụ thuộc Module
| Phụ thuộc vào | Lý do |
|---|---|
| Đặt sân | Một giấy phép được ràng buộc vào một cơ sở sân (hoặc người dùng); danh tính cơ sở đến từ đây |
| Phân quyền | Các hành động quản lý gói và giấy phép bị kiểm soát bởi các permission trong phạm vi licensing |
| Bán Hàng POS / Kho / các module khác | Tiêu thụ chứng chỉ đã ký để giới hạn tính năng và hạn mức thiết bị; Gói & Đăng ký kiểm soát quyền truy cập của chúng |
5. Các package backend
Chi tiết triển khai nằm trong tài liệu developer - phần này chỉ ánh xạ module tới service vận hành nó.
| Package | Vai trò | Tài liệu developer |
|---|---|---|
@nx/licensing | Sở hữu toàn bộ domain cấp phép: gói, cờ tính năng, vòng đời giấy phép, kích hoạt, kiểm tra hiệu lực, và ký chứng chỉ | licensing |
Gói & Đăng ký không sở hữu schema riêng - cả năm bảng (
Policy,PolicyFeature,License,Activation,LicenseEvent) nằm trong@nx/corevà được tái xuất. Package ký một chứng chỉ Ed25519 và lưu đệm nó; mọi service khác xác minh chứng chỉ đó ngoại tuyến.
Ánh xạ kỹ thuật (Tính năng ⇄ Package)
Trục ngang của Feature Spine - mỗi tính năng nghiệp vụ (
<AREA>trong URD) ánh xạ tới ngôi nhà kỹ thuật của nó. Đối ứng: tài liệu package liên kết ngược về đây.
| Tính năng | Package | Trạng thái |
|---|---|---|
PLN Gói & Cờ tính năng | @nx/licensing | Built |
LIC Vòng đời giấy phép | @nx/licensing | Built |
VAL Kiểm tra hiệu lực & Quyền sử dụng lúc chạy | @nx/licensing | Built |
ACT Kích hoạt thiết bị | @nx/licensing | Built |
6. Luồng người dùng chính
7. Vai trò & Phân quyền
| Vai trò | Được phép | Không được phép |
|---|---|---|
| Người vận hành nền tảng | Quản lý gói và cờ tính năng; phát hành, gia hạn, tạm ngưng, khôi phục, thu hồi giấy phép; quản lý kích hoạt | - |
| Chủ sân (Owner) | Duyệt danh mục gói; tự cấp một gói dùng thử 14 ngày miễn phí; kiểm tra hiệu lực giấy phép của chính mình | Quản lý gói; phát hành hoặc thu hồi giấy phép cho người khác |
| Các service khác | Kiểm tra một khoá giấy phép và đọc chứng chỉ phát sinh | Thay đổi gói, giấy phép, hoặc kích hoạt |
8. Trạng thái & Lộ trình
Trạng thái module: Built. Backend (
@nx/licensing) cung cấp năm controller và ba service phủ trọn luồng gói → giấy phép → kích hoạt → kiểm tra hiệu lực, với chứng chỉ ký Ed25519 được phân phối qua cache.
| Giai đoạn | Năng lực |
|---|---|
| P1 | Gói (dùng thử 14 ngày / Basic / Pro), cờ tính năng có kiểu + hạn mức thiết bị, danh mục gói, phát hành giấy phép + vòng đời (gia hạn/tạm ngưng/khôi phục/thu hồi), kiểm tra hiệu lực lúc chạy, nhật ký kiểm toán sự kiện |
| P2 | Tự cấp gói dùng thử miễn phí, kích hoạt thiết bị với thực thi hạn mức, ghi đè theo giấy phép, ký chứng chỉ Ed25519 + xác minh ngoại tuyến trên các service |
| P3 | Quét hết hạn chủ động, bề mặt REST cho sự kiện giấy phép, thời hạn theo lịch, đo lường mức sử dụng (đều dự kiến, chưa làm) |
9. Trang liên quan
- URD
- PRD
- Tài liệu developer:
@nx/licensing - Module liên quan: Đặt sân · Phân quyền