Skip to content

Yêu cầu phi chức năng (Non-functional)

Ký hiệu REQ-N-*·(Pn).

NA. Kiến trúc & nền tảng

IDƯu tiênYêu cầu
REQ-N-ARC-01P0Dữ liệu sống PHẢI nằm trên Cloudflare D1 duy nhất (Cloudflare-only invariant). PHẢI KHÔNG thêm phụ thuộc Supabase mới.
REQ-N-ARC-02P0Frontend Tokyo PHẢI deploy trên Cloudflare Pages; API trên api.conan.school (Workers).
REQ-N-ARC-03P0UI PHẢI truy cập API qua same-origin /api proxy để mang cookie member.
REQ-N-ARC-04P1Truy cập D1 NÊN qua client chuẩn của nền tảng (bảng legacy dùng tiền tố legacy_); dữ liệu Course Information dùng bảng riêng, không phá pipeline curriculum cũ.

NB. Hiệu năng

IDƯu tiênYêu cầu
REQ-N-PERF-01P1Trang chính (home, courses, my-journey) NÊN có First Contentful Paint < 2.5s trên 4G tầm trung.
REQ-N-PERF-02P1Phản hồi /api/user/me NÊN < 300ms p95 ở edge.
REQ-N-PERF-03P2Tài nguyên tĩnh NÊN được cache ở CDN với chiến lược bất biến theo hash.

NC. Bảo mật & quyền riêng tư

IDƯu tiênYêu cầu
REQ-N-SEC-01P0Phân quyền PHẢI thực thi ở backend theo entitlement_group; UI chỉ là lớp trình bày.
REQ-N-SEC-02P0Cookie phiên PHẢI là HttpOnly, Secure, SameSite phù hợp; không lộ token ra JS/URL.
REQ-N-SEC-03P0Dữ liệu cá nhân (số điện thoại, thanh toán) PHẢI KHÔNG xuất hiện trong query string/log.
REQ-N-SEC-04P1Đối soát thanh toán PHẢI dựa trên tiền thật về + khớp số điện thoại; model vision bị license-gate PHẢI KHÔNG nằm trên đường kích hoạt tự động.

ND. Độ tin cậy & vận hành

IDƯu tiênYêu cầu
REQ-N-OPS-01P0Deploy PHẢI tự động qua GitHub Actions khi push main (một workflow cho mỗi app; path-filter theo thư mục).
REQ-N-OPS-02P1Trial lazy-init PHẢI idempotent: nhiều request đồng thời không tạo trạng thái mâu thuẫn.
REQ-N-OPS-03P1Lỗi backend NÊN suy giảm mềm: người dùng thấy thông báo thân thiện, không trắng trang.

NE. Khả dụng & i18n

IDƯu tiênYêu cầu
REQ-N-UX-01P1Giao diện Builder PHẢI dùng tiếng Việt là ngôn ngữ chính; thuật ngữ theo chuẩn naming (Builder, Tokyo).
REQ-N-UX-02P1Ứng dụng NÊN responsive tốt trên mobile (đa số Builder truy cập bằng điện thoại).
REQ-N-UX-03P2Tài liệu (site này) NÊN có tìm kiếm cục bộ và điều hướng theo nhóm rõ ràng.

NF. Khả năng mở rộng tài liệu

IDƯu tiênYêu cầu
REQ-N-DOC-01P1Cấu trúc docs PHẢI cho phép bổ sung hệ thống khác (www, admin, api) mà không phá điều hướng hiện có.
REQ-N-DOC-02P2Mỗi tài liệu NÊN truy vết được về User Story và mục SDD tương ứng.

Tài liệu nội bộ nền tảng Conan School.