Skip to content

PRD-001 · REQ: SAT, Journey, Gull, app IELTS ​

Một mảnh của danh mục REQ PRD-001, gồm REQ-SAT, REQ-JRN, REQ-GUL, REQ-MOB. Sổ chung chỉ CHÈN: thêm REQ bằng Edit vào đúng bảng của nhóm, không ghi cả file. Luật viết REQ, nghĩa của cột Priority và Status nằm ở trang mục lục; §6, §7 ở độ phủ.

REQ-SAT — NEMO SAT (SRC-1024, PRD-004) ​

Bản đầy đủ, kèm người dùng, hành trình và chỉ số: PRD-004. Chủ dự án chốt 24.09.2026 (PRD-004 §10). ✔ = đã code (đợt 1 ngày 24.09, đợt 2 và 3 ngày 25.09.2026, SDD-044 §10); ⏳ = chưa code.

IDYêu cầuƯu tiênNguồnSDDQGStatus
REQ-SAT-01learn.nemo12.com/sat/** là một khu riêng (router, khung, đầu trang "NEMO SAT"), khoá sau đăng nhập cả giao diện lẫn API, theo khuôn cổng IELTS (SDD-038 §9, SRC-839). Người chưa đăng nhập thấy màn giới thiệu một câu + nút đăng nhậpMSRC-1024SDD-044 §3QG-007✔
REQ-SAT-02Goal Setup: learner khai danh sách trường (chọn nhóm: Việt Nam · Mỹ ngoài top 50 · Mỹ top 30, hoặc tự nhập điểm), ngày thi dự kiến và hạn nộp sớm nhất; hệ đề xuất điểm mục tiêu tổng và từng phần, learner sửa đượcMSRC-1024SDD-044 §3QG-007✔
REQ-SAT-03Nếu ngày thi cách hôm nay dưới 8 tuần hoặc khoảng cách tới mục tiêu > 200 điểm/8 tuần, màn mục tiêu hiện cảnh báo bằng số (điểm/tuần cần tăng), không chặnSSRC-1024SDD-044 §3QG-007✔
REQ-SAT-04Bài đo đầy đủ: R&W 2 module × 27 câu × 32 phút, Math 2 module × 22 câu × 35 phút, nghỉ 10 phút; module 2 của mỗi phần là bản dễ hoặc khó tuỳ số câu đúng ở module 1 (ngưỡng cấu hình theo đề). Đồng hồ đếm ngược, hết giờ thì tự nộp moduleMSRC-1024SDD-044 §4QG-007✔
REQ-SAT-05Người chơi đề có: đánh dấu xem lại, gạch đáp án (eliminator), bảng câu hỏi của module, ô nhập đáp án tự điền cho Math (student-produced response, nhận phân số và số thập phân), công thức tham khảoMSRC-1024SDD-044 §4QG-007✔
REQ-SAT-06Máy tính đồ thị có sẵn cho mọi câu Math (nhúng Desmos nếu có giấy phép API, nếu không thì mở tab Desmos công khai)SSRC-1024SDD-044 §4QG-007✔
REQ-SAT-07Báo cáo: điểm ước lượng từng phần (200-800, bước 10) và tổng, ghi chữ "ước lượng" + khoảng ±40; module 2 rơi vào bản nào; mức 1-7 của 8 miền; thời gian từng câuMSRC-1024SDD-044 §4QG-007✔
REQ-SAT-08Sau bài đo, learner xem lại từng câu sai và gắn một trong 4 nguyên nhân (hệ gợi ý sẵn: hết giờ nếu trả lời trong 10 giây cuối hoặc bỏ trống; bất cẩn nếu câu cùng kỹ năng đã đúng ≥ 2 lần trước đó). Báo cáo hiện tỉ lệ 4 nguyên nhânMSRC-1024SDD-044 §4QG-007✔
REQ-SAT-09Báo cáo kết thúc bằng 3 việc làm trước, xếp theo (số câu mất × trọng số miền) / giờ học ước tínhSSRC-1024SDD-044 §4QG-007✔
REQ-SAT-10Luyện theo miền: chọn một miền (hoặc một kỹ năng con trong cây SA1-SA5), làm bộ 10 câu, xem lời giải từng câu ngay sau khi trả lờiMSRC-1024SDD-044 §5QG-007✔
REQ-SAT-11Module có giờ: làm một module 27 hoặc 22 câu đúng giờ thi, kết quả tính vào bằng chứng tốc độMSRC-1024SDD-044 §5QG-007✔
REQ-SAT-12Sổ lỗi: mọi câu sai tự vào sổ kèm nguyên nhân; learner lọc theo miền/nguyên nhân và làm lại; câu làm lại đúng 2 lần cách nhau ≥ 3 ngày thì ra khỏi sổMSRC-1024SDD-044 §5QG-007✔
REQ-SAT-13Ôn giãn cách: câu trong sổ lỗi quay lại theo lịch 1-3-7-14 ngày (dùng engine Retention, SDD-017)SSRC-1024SDD-044 §5QG-007✔
REQ-SAT-14Không trả lời lại được câu đã xem lời giải trong cùng phiên; lần làm lại tính là một attempt mớiMSRC-1024SDD-044 §5QG-007✔
REQ-SAT-15Plan: từ ngày thi, số giờ/tuần và 3 chỗ hổng lớn nhất, hệ dựng lịch tuần (bài luyện miền, module có giờ, đo lại mỗi 3-4 tuần); mỗi mốc một ngày + điểm mong đợi; learner kéo dời được mốcMSRC-1024SDD-044 §6QG-007✔
REQ-SAT-16Mốc trượt (lần đo lại thấp hơn điểm mong đợi > 30) thì Plan đề xuất sửa, không tự sửaSSRC-1024SDD-044 §6QG-007✔
REQ-SAT-17Readiness: trạng thái "Sẵn sàng" chỉ bật khi 2 lần đo đầy đủ liên tiếp ≥ mục tiêu; trước đó màn chính hiện khoảng cách còn lạiMSRC-1024SDD-044 §6QG-007✔
REQ-SAT-18Trang chủ /sat (dashboard) hiện: điểm ước lượng gần nhất, mục tiêu, số ngày tới ngày thi, việc hôm nay (≤ 3), chuỗi ngày họcMSRC-1024SDD-044 §6QG-007✔
REQ-SAT-19Mọi câu trả lời ghi thành attempt (câu, đáp án, đúng/sai, thời gian, ngữ cảnh: đo/miền/module/ôn) và đổ vào Evidence Registry theo miền + node SA1-SA5MSRC-1024SDD-044 §7QG-007✔
REQ-SAT-20sat-effort: số phút, số câu, độ chính xác 7/30 ngày, cho learner và cho dashboard sat-learners (SDD-037)SSRC-1024SDD-044 §7QG-007✔
REQ-SAT-21Phụ huynh (marlins) thấy: mục tiêu, các mốc và điểm từng lần đo, trạng thái sẵn sàng; không thấy từng câuSSRC-1024SDD-044 §7QG-007✔
REQ-SAT-22Bàn SAT (SDD-037 §7.8): mentor thấy học sinh không có attempt 21 ngày, miền yếu nhất và tỉ lệ nguyên nhân của từng học sinhSSRC-1024SDD-044 §7QG-007✔
REQ-SAT-23Câu hỏi sống trong D1: phần (R&W/Math), miền, kỹ năng, node SA1-SA5, độ khó 1-3, đoạn văn (nếu có), 4 lựa chọn hoặc đáp án tự điền (nhiều dạng đúng), lời giải, nguồn + giấy phép, trạng thái duyệtMSRC-1024SDD-044 §2QG-007✔
REQ-SAT-24Chỉ câu approved mới vào đề; mỗi câu có ≥ 1 người duyệt khác người soạn; nguồn College Board bị chặn ở tầng dữ liệuMSRC-1024SDD-044 §2QG-007✔
REQ-SAT-25Một đề đầy đủ = 6 module (R&W M1/M2-dễ/M2-khó, Math tương tự) ghép từ kho theo bảng phân bố miền của College Board; admin ghép và kiểm phân bố bằng máyMSRC-1024SDD-044 §2QG-007✔
REQ-SAT-26Đủ kho cho v1: ≥ 3 đề đầy đủ (≈ 294 câu) + ≥ 40 câu mỗi miền cho luyện; độ khó hiệu chỉnh lại sau mỗi 30 attempt/câuSSRC-1024SDD-044 §2QG-007⏳

REQ-JRN - Journey Management & Activation Engine (SRC-1077, PRD-005) ​

Bản đầy đủ: PRD-005. Thiết kế: SDD-045. ✔ = đã code 27.09.2026; ⏳ = chờ quyết định.

IDYêu cầuƯu tiênNguồnSDDQGStatus
REQ-JRN-01Journey Registry: mỗi hành trình có id, phiên bản, tên, mục đích, tầm (session/day/week/month/lifecycle), chủ, trạng thái (draft/active/deprecated), luật, policy ưu tiên, catalog việc gợi ý, chỉ số thành công. Cấu hình sai (trọng số không cộng bằng 1, catalog thiếu gợi ý mặc định) bị test chặnMSRC-1077SDD-045 §4QG-005✔
REQ-JRN-02Luật đủ điều kiện, kích hoạt, xong, hết hạn viết dạng khai báo (fact, op, value; all/any), có phiên bản; mọi kết quả luật kèm vết từng điều kiệnMSRC-1077SDD-045 §4, §5QG-005✔
REQ-JRN-03Learner State đọc từ dữ liệu thật ở MỘT chỗ (mục tiêu, hồ sơ, quiz, bài đo, mốc, hoạt động, Learner Model); bảng chưa có thì coi là "chưa có", không hỏng trangMSRC-1077SDD-045 §5QG-004✔
REQ-JRN-04Journey Portfolio: mỗi learner có trạng thái cho từng hành trình (NOT_ELIGIBLE, ELIGIBLE, ACTIVE, PAUSED, COMPLETED, EXPIRED); mỗi lần chuyển trạng thái ghi đúng MỘT dòng sổMSRC-1077SDD-045 §3, §7QG-004✔
REQ-JRN-05Ưu tiên theo năm nhân tố (mức gấp, liên quan tới mục tiêu, mức cần, tác động, sẵn sàng) và policy có trọng số, ngưỡng tối thiểu; learner không thấy điểmMSRC-1077SDD-045 §6QG-005✔
REQ-JRN-06Chọn MỘT hành trình đứng trước: phá hoà theo mức gấp, liên quan, tác động; giữ hành trình đang đứng trước nếu kém trong biên 0.05; loại hành trình đang hoãnMSRC-1077SDD-045 §8QG-005✔
REQ-JRN-07Next Best Action: một việc cụ thể (có đích bấm được) kèm một câu vì sao do server viết từ đúng luật đã chọn nóMSRC-1077SDD-045 §8, §11QG-005✔
REQ-JRN-08Trạng thái đánh giá lại mỗi khi learner mở trang và qua một đường đánh giá lại tường minh; dữ liệu đổi (nộp quiz, thêm mốc, nghỉ học) thì việc tiếp theo đổi theoMSRC-1077SDD-045 §9, §10QG-003✔
REQ-JRN-09Ghi lại learner đã bấm gợi ý nào và đã "Để sau" hành trình nào; action lạ bị từ chốiSSRC-1077SDD-045 §7, §9QG-004✔
REQ-JRN-10Admin thấy số learner theo từng hành trình và trạng tháiSSRC-1077SDD-045 §9, §11QG-003✔
REQ-JRN-11Admin nhập một learner và thấy: dữ kiện engine đọc, từng điều kiện đúng sai kèm giá trị thật, nhân tố, điểm, vì sao hành trình này đứng trước, vì sao hành trình khác không, và sổ sự kiện. Xem không làm đổi sổMSRC-1077SDD-045 §8, §9, §11QG-008✔
REQ-JRN-12Tám hành trình MVP: Onboarding, Diagnosis, Learning Plan, Daily Learning, Learning Progress, Recovery, Exam Preparation, Goal Achievement (PRD-005 §6)MSRC-1077SDD-045 §4QG-005✔
REQ-JRN-13Bước Learn (learn.nemo12.com/ielts/today) có một thẻ "What to do now" chỉ thẳng vào một kỹ năng nên luyện hôm nay (kẹt → gợi ý của Nemo → kỹ năng chưa luyện → Reading), một nút; thẻ Next up riêng đã gộp vào đây (09.10.2026, PR #531) và chỉ còn ở hồ sơ learnerMSRC-1077SDD-045 §11QG-007✔
REQ-JRN-14Hành trình năm bước bị thay ở app (dải năm bước, endpoint ielts-journey) và ở trang công khai IELTS (/ielts/journey, trang chi tiết, khối trang môn, nhãn liên kết); URL giữ nguyên. Bàn mentor giữ năm bước tới Q-169MSRC-1077SDD-045 §9, §11QG-007✔
REQ-JRN-15Phụ huynh xem portfolio hành trình của con (xem gì: chờ chủ dự án, Q-168)SSRC-1077SDD-045 §12QG-008⏳
REQ-JRN-16Phân tích phễu hành trình theo thời gian (tỉ lệ kích hoạt, xong, bỏ dở, hoãn)CSRC-1077SDD-045 §14QG-003⏳

REQ-GUL - Gull: Customer Understanding & Journey Intelligence (SRC-1094, PRD-007) ​

Bản đầy đủ: PRD-007. Thiết kế: SDD-047. ✔ = đã code 27.09.2026; ⏳ = đợt 2 (SDD-047 §7). Tìm kiếm hiện là tìm theo từ; tìm theo nghĩa ở REQ-GUL-15.

IDYêu cầuƯu tiênNguồnSDDQGStatus
REQ-GUL-01Mười hai loại thực thể (Program, Stakeholder, Persona, JTBD, Need, Pain, Journey, Journey Stage, Journey Step, Touchpoint, Evidence, Opportunity); MVP tám thực thểMSRC-1094SDD-047 §4.1QG-005/007/008✔
REQ-GUL-02Quan hệ nhiều-nhiều giữa mọi thực thể là dữ liệu hạng nhất; Evidence gắn được vào mọi thực thểMSRC-1094SDD-047 §4.2QG-005/007/008✔
REQ-GUL-03Tách Global Entity khỏi Program Context: một thực thể dùng lại ở nhiều chương trình, phần khác biệt ghi theo chương trìnhMSRC-1094SDD-047 §4.3QG-005/007/008✔
REQ-GUL-04Pain quan trọng không có Evidence thì bị chặn, trừ khi ghi là HypothesisMSRC-1094SDD-047 §4.4QG-005/007/008✔
REQ-GUL-05Trạng thái tri thức (Hypothesis, Draft, Evidence-backed, Validated, Deprecated) và vòng đời quản trị; không xoá cứng, mọi sửa có lịch sử phiên bảnMSRC-1094SDD-047 §4.4QG-005/007/008✔
REQ-GUL-06Tri thức do AI sinh mang nguồn, confidence, generated by, human verified, ngày xác minh; chỉ người nâng được lên ValidatedMSRC-1094SDD-047 §4.4QG-005/007/008✔
REQ-GUL-07F1 Knowledge Library: tìm, lọc, tag, đi theo quan hệMSRC-1094SDD-047 §5QG-005/007/008✔
REQ-GUL-08F2 Journey Builder: Journey, Stage, Step, Touchpoint; MVP chỉ hiển thị, tạo và đổi thứ tự bằng script vào database (Q-187)MSRC-1094SDD-047 §5QG-005/007/008✔
REQ-GUL-09F3 Journey Matrix theo Persona × Program × Stakeholder × StageMSRC-1094SDD-047 §5QG-005/007/008✔
REQ-GUL-10F4 Journey Detail và F5 Persona ExplorerMSRC-1094SDD-047 §5QG-005/007/008✔
REQ-GUL-11F6 JTBD Library: xem và đi theo quan hệ; tạo, sửa, gộp, nhân bản, nối bằng script vào database (Q-187)MSRC-1094SDD-047 §5QG-005/007/008✔
REQ-GUL-12F7 Evidence Registry: mọi nhận định quan trọng trả lời được "vì sao ta tin điều này"MSRC-1094SDD-047 §5QG-005/007/008✔
REQ-GUL-13F8 AI Research Assistant: trích Persona/JTBD/Pain/Need từ ghi chép phỏng vấn, phát hiện trùng và mâu thuẫnSSRC-1094SDD-047 §5QG-005/007/008⏳
REQ-GUL-14F9 AI Relationship Discovery: hỏi bằng lời, trả về chuỗi quan hệ kèm EvidenceCSRC-1094SDD-047 §5QG-005/007/008⏳
REQ-GUL-15F10 Semantic Search trên mọi thực thể và bằng chứngSSRC-1094SDD-047 §5QG-005/007/008⏳
REQ-GUL-16F11 Dashboard và F12 Journey Analytics, North Star Evidence-backed CoverageSSRC-1094SDD-047 §5, §8QG-005/007/008✔
REQ-GUL-17Năm vai: Researcher, Product Manager, UX Researcher, Program Manager, Admin; MVP là nhãn mô tả, chưa gắn quyền (Q-187)SSRC-1094SDD-047 §6QG-005/007/008✔
REQ-GUL-18Deploy tại gull.nemo12.com qua GitHub Actions, công khai, không đăng nhập (Q-184); UI dùng chung component với learn.nemo12.com/ieltsMSRC-1094SDD-047 §10QG-005/007/008✔
REQ-GUL-19Trang Journeys gom journey theo nhóm người dùng (chương trình × stakeholder), chia chính/phụ; IELTS Learners có 2 journey chính và 3 phụ. Trang journey có tổng quan rồi các thành phần, mỗi thành phần một card, mỗi card một dòngMSRC-1095SDD-047 §6.1QG-005/007✔

REQ-MOB - NEMO IELTS, app Flutter iOS + Android (SRC-1100, PRD-010) ​

Bản đầy đủ: PRD-010. Thiết kế: SDD-055. 🔵 = đã code đợt 0 ngày 28.09.2026 (backend đăng nhập có test; app Flutter chờ build trên máy Mac có Xcode); ⏳ = đợt 1-2.

IDYêu cầuƯu tiênNguồnSDDQGStatus
REQ-MOB-01Một app tên NEMO IELTS viết bằng Flutter, một codebase ra iOS và Android; bundle id com.nemo12.ieltsMSRC-1100SDD-055 §2, §9QG-007🔵
REQ-MOB-02Dùng chung backend api.nemo12.com, chung D1, chung hồ sơ learner; app không có bảng nội dung riêng, mọi bài làm ghi qua API hiện cóMSRC-1100SDD-055 §1, §5QG-005🔵
REQ-MOB-03Đăng nhập Google (iOS + Android) và Sign in with Apple (iOS); chọn Google thì vào đúng tài khoản web cũ, không tự gộp theo email (RISK-001)MSRC-1100SDD-055 §4QG-005🔵
REQ-MOB-04Phiên dài hạn: không phải đăng nhập lại nếu mở app ít nhất một lần mỗi 30 ngày; token trong Keychain / KeystoreMSRC-1100SDD-055 §4QG-005🔵
REQ-MOB-05Home chỉ hiện một việc tiếp theo từ Journey Engine (SDD-045), đúng luật tối giản SRC-048MSRC-1100SDD-055 §5QG-008🔵
REQ-MOB-06Luyện Reading và Listening bằng kho đề D1; audio phát được khi khoá màn hìnhMSRC-1100SDD-055 §5QG-008🔵
REQ-MOB-07Màn Progress: bốn kỹ năng, mục tiêu band, hoạt động bảy ngày, đọc từ API có sẵnMSRC-1100SDD-055 §5QG-008🔵
REQ-MOB-08Hồ sơ chưa setup IELTS thì setup ngay trong appSSRC-1100SDD-055 §5QG-008⏳
REQ-MOB-09Speaking: ghi âm, nghe lại, nộp; bài ghi dở không mất khi app xuống nềnMSRC-1100SDD-055 §6QG-008⏳
REQ-MOB-10Writing: soạn, tự lưu nháp trên máy, nộp qua API productionsMSRC-1100SDD-055 §6QG-008⏳
REQ-MOB-11Nhắc học bằng push: learner chọn giờ, tối đa một lời nhắc mỗi ngày, tắt đượcSSRC-1100SDD-055 §8QG-005⏳
REQ-MOB-12Tải trước đề để làm offline; đồng bộ khi có mạng, không tạo bản ghi trùngSSRC-1100SDD-055 §7QG-005⏳
REQ-MOB-13Chế độ thi thật: đếm giờ theo chuẩn IELTS, tự nộp khi hết giờSSRC-1100SDD-055 §7QG-008⏳
REQ-MOB-14App không bán gì: membership chỉ hiện trạng thái, không nút mua, không link thanh toán (App Store Review 3.1.1)MSRC-1100SDD-055 §5QG-008🔵
REQ-MOB-15Xoá tài khoản ngay trong app (App Store Review 5.1.1(v)) + link chính sách quyền riêng tưMSRC-1100SDD-055 §4QG-005🔵
REQ-MOB-16Giao diện Flutter dựng theo token DS-001 sinh bằng máy, để app và web là một họMSRC-1100SDD-055 §3QG-007🔵