PrintUp — P0 requirements & acceptance
Implementation freeze v1: customer mobile iOS/Android + Admin Web, explicit pricing/order/payment/production/fulfilment rules, RBAC, AC và project delivery plan.
Site này là source of truth cho PrintUp P0 implementation freeze v1. Baseline hợp nhất nằm tại SOURCE-REQUIREMENTS.md; clarification/decision mới hơn luôn ưu tiên wording cũ khi có xung đột.
Mục tiêu của freeze hiện tại: team có thể bắt đầu build mà không quay lại hỏi behavior business P0. Real catalog/rates/margin/VAT/commission/credentials là deployment inputs trước pilot/release, không phải decision blocker.
Kế hoạch thực thi, owner, deadline, release, risk và báo cáo khách hàng được quản lý riêng tại Quản lý dự án. Dự án bắt đầu 17/09/2026; V1 target 09/10/2026 sau 17 ngày làm việc, sau đó V2 và V3 final go-live theo roadmap trên project board.
Cách dùng
| Vai trò | Bắt đầu từ | Dùng để |
|---|---|---|
| Founder / Product | Quản lý dự án → Tổng quan → Phạm vi → Quyết định | Theo dõi plan/status/risk, kiểm frozen scope/behavior và duyệt change request mới |
| Tech lead / Developer | Quản lý dự án → FR → Trạng thái & quy tắc → NFR → Quyền | Nhận task/deadline và implement schema/API/mobile/Admin theo rule đã khóa |
| QA | Quản lý dự án → Nghiệm thu → Hành trình → Truy vết | Theo release plan, chạy AC/negative paths và lưu evidence |
| Sales / Production / Accounting / Admin | Quản lý dự án → Hành trình → Quyền | Theo deadline nghiệp vụ, xác nhận workflow/manual operations và audit |
Quy ước
- Implementation freeze v1: behavior P0 đã đủ rõ để code/test.
- Founder decision 16/09/2026: clarification đã khóa/thay baseline cũ.
- Technical baseline: Tech team tự đặt/test threshold thực dụng mà không đổi business behavior.
- Deferred / P0 non-goal: không implement nếu chưa có change request/version mới.
- Deployment input: dữ liệu/config/credential thật cần seed trước pilot/release, nhưng dev có thể dùng fixture/mock/config placeholder an toàn.
- Project task status: cập nhật tại
data/project.yaml; deadline đổi phải ghi lịch sử/lý do trong note. - D-22..D-25: đã bỏ và không tái sử dụng; D-26/D-27 giữ ID lịch sử.
Bản đồ tài liệu
| Trang | Nội dung |
|---|---|
| Tổng quan | Operating model và frozen behaviors |
| Quản lý dự án | V1/V2/V3 roadmap, task owner/deadline/status, risks và customer reporting |
| Hành trình nghiệp vụ | Guest cart → account → pricing/quote → SePay → file → production/QC → fulfilment → complete + exception paths |
| Phạm vi | P0, non-goals và future extension points |
| Yêu cầu chức năng | FR-01..FR-41 implementation-ready |
| Trạng thái & quy tắc | State machines + BR-01..BR-20 |
| Yêu cầu phi chức năng | NFR-01..NFR-16 security/reliability/ownership baseline |
| Nghiệm thu | AC-01..AC-12 + pilot readiness |
| Quyền & phân quyền | Permission matrix v1.0 |
| Đo lường | Golden datasets và operating metrics |
| Quyết định | Frozen decision register, gồm D-28..D-34 gap-fill decisions |
| Truy vết | AC/FR/NFR/decision traceability |
| Phụ thuộc | Deployment providers/config/credentials và fallback |
Fail-closed invariants
- Không checkout dưới floor; Admin one-off override phải có reason/audit.
- Pricing cost dùng production quantity + waste/yield, không chỉ ordered quantity.
- Checkout/order và SePay application phải idempotent.
- Production approval cần
Paid + active design Approvedvà chỉ Production Approver active được approve. - URL design đổi sau approval phải reset approval.
- Partial/over/under/unmatched payment không tự thành Paid.
- After-payment cancel/change không self-service; refund manual/audited.
- Không shipping/invoice/design provider API ngầm trong P0.
- Agent không active trước Admin approval; cấm self-referral; payout không duplicate.
- Business data không auto purge; hard purge explicit/audited và không cascade delete audit record.
- Guest không tạo order; business account không có multi-user organization P0.
- Feature thuộc explicit non-goals không được tự thêm vào sprint P0.
Khi thay behavior đã freeze, cập nhật đồng thời decision/source baseline, FR/NFR/BR/AC/state/exception và PR scope; khi thay delivery plan, cập nhật project.yaml và customer report.