PrintUp — Tài liệu yêu cầu & nghiệm thu
Baseline nghiệp vụ PrintUp sau clarifications 16/09/2026: iOS/Android trước, email + push, public design links, SePay, manual production approval/shipping/invoice, pricing engine, RBAC và M1–M5.
Site này là baseline triển khai/kiểm thử hiện tại của PrintUp. Nguồn được hợp nhất tại biz-docs/SOURCE-REQUIREMENTS.md, gồm đặc tả 16/09/2026 và các clarification của founder cùng ngày. Clarification mới ưu tiên khi mâu thuẫn với baseline cũ.
P0 hiện theo hướng có chủ đích ít tích hợp ngoài: iOS/Android trước; DesignO/Canva chỉ là public link; SePay xác nhận chuyển khoản; notification qua email + push; invoice và shipping thao tác thủ công; chỉ một Production Approver được duyệt file/sản xuất.
Cách dùng site này
| Bạn là | Bắt đầu từ | Dùng để |
|---|---|---|
| Founder / Product owner | Tổng quan → Quyết định → Phạm vi | Xem phần đã chốt, chốt D-xx nghiệp vụ còn mở và khóa scope |
| Tech lead / Developer | FR → NFR → Quyền & phân quyền → Trạng thái | Thiết kế solution đúng scope, đặt baseline vận hành P0 và không vô tình xây lại integration đã defer |
| Tester / QA | Nghiệm thu & kiểm thử → Truy vết | Chạy AC-01..AC-12 và lưu evidence theo scope hiện hành |
| Sales / Production / Accounting / Admin | Hành trình nghiệp vụ → Quyền & phân quyền | Xác nhận workflow thủ công, quyền thao tác và ngoại lệ |
Quy ước đọc
- Baseline 16/09/2026: yêu cầu từ đặc tả gốc còn hiệu lực hoặc baseline kỹ thuật P0 đã được giữ lại.
- Founder decision 16/09/2026: clarification mới đã khóa hoặc thay đổi baseline cũ.
- Deferred by founder: không phải blocker P0; chỉ quay lại scope bằng quyết định/change request mới.
- Cần chốt / Mở: còn thiếu quyết định nghiệp vụ đủ để code hoặc nghiệm thu an toàn.
- Đã chốt: decision đã có câu trả lời hiện hành; nếu thay đổi phải version hóa và đánh giá tác động.
- D-22..D-25: đã được founder yêu cầu bỏ khỏi decision register; requirement/evidence kỹ thuật liên quan nếu còn cần được quản lý trực tiếp trong FR/NFR/AC/runbook. D-26/D-27 giữ nguyên ID để bảo toàn traceability lịch sử.
Bản đồ tài liệu
| Trang | Nội dung |
|---|---|
| Tổng quan | Current operating model và các quyết định quan trọng |
| Hành trình nghiệp vụ | Mobile order → public design link → pricing → SePay → approval → production → manual fulfilment |
| Phạm vi phát hành | P0 hiện tại, deferred integrations và Khối 2/3 |
| Yêu cầu chức năng | FR-01..FR-41, gồm các mục simplified/deferred rõ ràng |
| Trạng thái & quy tắc | State model và BR-01..BR-11 |
| Yêu cầu phi chức năng | NFR-01..NFR-16 và baseline kỹ thuật P0 |
| Nghiệm thu & kiểm thử | AC-01..AC-12 theo scope clarified + M1–M5 |
| Quyền & phân quyền | Permission matrix v0.1 và invariant một Production Approver |
| Đo lường | Metrics vận hành/pilot |
| Quyết định | Decision register nghiệp vụ gồm cả đã chốt và còn mở |
| Truy vết | AC → FR/NFR và D → requirement bị ảnh hưởng |
| Phụ thuộc | SePay, public design links, manual invoice/shipping, pricing appendix, legal |
Các invariant phải fail-closed
- Không bán dưới floor price ngoài policy override được phê duyệt (BR-01).
- Không tính cost chỉ trên số khách đặt nếu có bù hao/hao khổ (BR-02).
- Không duyệt file/sản xuất bằng user không phải Production Approver active (BR-04, BR-05).
- Không coi order đã thanh toán khi SePay chưa xác nhận hoặc chưa có đối soát thủ công có quyền (BR-06).
- Không giả lập shipping/invoice integration: dữ liệu chỉ đổi khi người có quyền cập nhật thủ công (BR-07).
- Không kích hoạt đại lý trước Admin approval; payout theo kỳ tháng (BR-08).
- Không tự purge dữ liệu trong policy hiện tại; Admin delete phải có audit (BR-09).
- Không gửi file/PII sang DesignO/Canva qua API (BR-10).
Cập nhật requirement/decision trong biz-docs/data/*.yaml; khi baseline đổi, cập nhật đồng thời SOURCE-REQUIREMENTS.md và acceptance tests liên quan.