Discover Your IELTS Path và Learner Journey
/ielts: Discover Your IELTS Path (SRC-1247)
Chủ dự án 05.10.2026: /ielts (bản học sinh) không còn là trang giới thiệu NEMO IELTS mà là một công cụ giúp learner tự khám phá tình huống IELTS của mình. Mã: apps/web/src/site/IeltsDiscover.tsx (giao diện), ieltsDiscoverModel.ts (thuần, có test), ieltsPace.ts (hằng số thời gian dùng chung).
- Sáu bước, mỗi thẻ một quyết định, mở lần lượt (trả lời, giải thích, trả lời...): Vì sao · WHY, Mục tiêu · TARGET, Hiện tại · CURRENT, Khả thi · FEASIBILITY (tính, không hỏi), Chiến lược · STRATEGY, Thời gian · TIMELINE. Thanh tiến độ dính dưới nav (✓ xong, ● đang làm, ○ chưa tới), mỗi nút là anchor
#why...#timeline; bấm nút ✓ hoặc "Sửa" để đổi câu trả lời, mọi thứ phía sau tự tính lại./ielts/discoverlà bí danh 301 của/ielts, giữ nguyên anchor. - Khoảng cách = mục tiêu - hiện tại (bước 0.5, không âm). Giờ có hướng dẫn = khoảng cách x 200 (Cambridge, khoảng 200 giờ có hướng dẫn cho một bậc CEFR, khoảng 1.0 band).
- Thời gian = khoảng cách x giờ cho 1.0 band / giờ mỗi tuần / (52/12). Đầu thấp dùng 200 giờ (Cambridge), đầu cao dùng nhịp NEMO (3 tháng cho 0.5 band khi học 10 giờ/tuần, khoảng 260 giờ cho 1.0 band, SRC-1047). Làm tròn ra ngoài, tối thiểu 1 tháng. Lựa chọn giờ: 8, 10, 15 giờ/tuần (SRC-1266; nhịp NEMO đo cho từ 10 giờ/tuần, nên ở 8 giờ đầu cao là ước lượng kéo dài và trang nói rõ). Giá trị lưu trước đó đổi sang lựa chọn gần nhất khi đọc (3, 5, 8 → 8; 12 → 10;
migrateHours). - Chưa biết band hiện tại: không đoán. Khả thi và Thời gian hiện lời mời làm bài chẩn đoán trên learn (
/ielts/diagnostic); learner đã làm (journey-summarydiagnosticDone) được dẫn tới báo cáo. journey-summary chỉ trả boolean, không có band hay điểm kỹ năng, nên www không hiện con số nào từ learn. - Kỹ năng: learner tự chấm Yếu / Trung bình / Khá; thanh luôn ghi "Bạn tự chấm", không bao giờ trình bày như phép đo. Kỹ năng yếu nhất dẫn tới các kỹ năng con trong
ieltsSubskills.ts. - Lưu:
n12.visitor.v2, mụcielts, trườngdiscover({v:1, why, target, current, skills, hours}), thêm vào không đổi khoá; dữ liệu hỏng hoặc khác phiên bản bị bỏ. Migration v1 → v2 giữ nguyên. - Mục đích (
why), bốn lựa chọn theo thứ tự (chủ dự án 06.10.2026, SRC-1266): Xét tuyển đại học Việt Nam (university_vn, hiện số liệu tuyển sinh đã kiểm chứng), Ứng tuyển du học (study_abroad), Thử sức (try_out), Khác (other). Id theo từ vựng cộtpurposecủa D1. Câu trả lời lưu trước ngày ấy được đổi khi đọc, không mất:university→university_vn,exemptionvàscholarship→other(migrateWhy);{v:1}giữ nguyên vì chỉ thêm ánh xạ, không đổi khuôn. - Kết: thẻ "Lộ trình IELTS của bạn · YOUR IELTS PATH" (Mục tiêu, Hiện tại, Khoảng cách, Mạnh nhất, Cần bù nhiều nhất, Thời gian ước tính) và MỘT nút đặc "Lập kế hoạch học của tôi" tới
learn.nemo12.com/ielts/learning-plan(link trơn: learn chưa nhận tham số). - Đã thay trên
/ielts: câu hỏi đầu trang + claim + quote, Discover facts (nay nằm trong bước WHY), The NEMO Way, khối State/Stage (intake, focus card, IeltsStageHero, VisitorStateControl), và toàn bộ thân trang môn (giờ Cambridge, mentors, học phí...). Lúc ấy/parents/ieltscòn dùng chúng; từ SRC-1273 thì không, xem mục ngay dưới.
/parents/ielts: cùng công cụ, giọng bố mẹ (SRC-1273)
Chủ dự án 07.10.2026: /parents/ielts thành đúng trải nghiệm của /ielts, nói bằng giọng bố mẹ về con. Không có bản sao: IeltsDiscover nhận persona ("student" mặc định, "parent"), mọi câu khác nhau nằm trong bảng VOICE (IeltsDiscover.tsx) và PARENT_STEP_COPY (ieltsDiscoverModel.ts). Bước, thứ tự, thanh tiến độ, một card đang mở, chế độ xem/sửa, bù thanh dính, migration và mọi phép tính dùng chung. Bản học sinh render y hệt từng byte như trước.
/ielts (học sinh) | /parents/ielts (bố mẹ) | |
|---|---|---|
| Nhãn | Discover Your IELTS Path | Discover Your Child's IELTS Path |
| h1 (= câu hỏi trang) | Lộ trình IELTS của mình trông như thế nào? | Con tôi bắt đầu học IELTS như thế nào? (giữ câu cũ) |
| 1 | Mình cần IELTS để làm gì? | Con cần IELTS để làm gì? |
| 2 | Mình cần band bao nhiêu? | Con cần band bao nhiêu? |
| 3 | Mình đang ở band mấy? (nút "Mình chưa biết") | Con đang ở band mấy? (nút "Chưa biết", dẫn tới bài chẩn đoán miễn phí) |
| 4 | Mình có kịp không? | Con có kịp không? |
| 5 | Nên luyện kỹ năng nào trước? ("Bạn tự chấm") | Con nên luyện kỹ năng nào trước? ("Bố mẹ tự đánh giá") |
| 6 | Mất bao lâu? (8/10/15 giờ/tuần) | Mất bao lâu? (8/10/15 giờ/tuần) |
| Chân dung | Lộ trình IELTS của bạn | Lộ trình IELTS của con |
| Một CTA | Lập kế hoạch học của tôi → learn /ielts/learning-plan | Cho con học thử miễn phí → learn.nemo12.com/ielts (đúng đích nút "Học thử (Free)" của trang cũ) |
- Câu trả lời tách theo persona. Cùng sổ
n12.visitor.v2, cùng mụcielts, nhưng hai trường:discover(học sinh, không đổi nên không cần migration) vàparentDiscover(bố mẹ). Mỗi trang chỉ đọc và ghi trường của mình (DISCOVER_FIELD,discoverOf(book, persona),withDiscover(..., persona)), nên bố mẹ và con dùng chung một máy không ghi đè câu trả lời của nhau. Chọn tách vì hai người trả lời cùng câu hỏi có thể khác nhau (bố mẹ ước band của con, con tự chấm), và ghi đè lặng lẽ là mất dữ liệu. TrườngparentDiscoverđược kiểm nhưdiscover(cùng{v:1}, cùngmigrateWhy,migrateHours). - Dòng "đã làm bài chẩn đoán" của bố mẹ nói về tài khoản learn trên máy này, không nói "con", vì journey-summary trả về tài khoản đang đăng nhập, có thể là của con hay của bố mẹ.
keytheo persona trongApp.tsx, nên đi qua lại giữa hai trang không mang trạng thái giao diện (card đang mở, bản nháp) của trang này sang trang kia.- Đã gỡ khỏi
/parents/ielts, đúng như PR #453 làm với/ielts: câu hỏi đầu trang kiểu cũ với claim và ba quote nháp, chuyện năm thẻ số liệu, The NEMO Way, khối State/Stage, và thân trang môn IELTS. Giữ banner IELTS và thanh điều hướng bố mẹ. Mã thành mã chết đã xoá:NemoWay,IeltsFactsStory,IeltsStageHero, intake và focus card trongIeltsVisitor.tsx, ba đồ hoạ củaIeltsGraphics.tsx(cònieltsOverall), các nhánh IELTS củaSubjectPage,PAGE_CLAIMS,PAGE_QUOTESvà hai propclaim/quotescủaPageQuestion. Trang con/parents/ielts/*giữ nguyên. - Test:
apps/web/src/site/ieltsDiscover.test.tsx(giọng bố mẹ, h1, không câu giọng học sinh nào lọt sang, chân dung một CTA, tách lưu theo persona, bản học sinh không đổi).
Learner Journey trên /ielts/consider (SRC-1248)
Chủ dự án 05.10.2026: phía learner của trang Consider không còn là bảng so sánh mà là hành trình của learner, viết bằng giọng tự hỏi của một bạn 16-17 tuổi (lớp 11). Tên trang và h1: "Học ở NEMO thì sao?".
- Learner Journey khác Parent Journey. Learner hỏi "mình có theo nổi không, có chán không, ai sửa bài"; phụ huynh hỏi "con ở đâu, bao lâu, bao nhiêu tiền".
/parents/ielts/considergiữ bảng so sánh SRC-1232; một trang Parent Journey riêng là bước tiếp theo, chưa dựng. - Chín thẻ, theo thứ tự: (1) Học có lên điểm thật không? (2) Có ai học NEMO rồi chưa? (3) Mấy bạn ấy được bao nhiêu điểm? (4) Học có khó không? Một tuần phải học bao nhiêu? (5) Học có chán không? Có được nói chuyện với người khác không? (6) Ai sẽ dạy mình? Có được sửa bài không? Không hiểu thì sao? (7) Bao nhiêu tiền? (8) Bố mẹ có cho học không? (9) Mình thử trước được không?
- Không bịa learner, điểm hay kết quả. Chưa có kết quả learner được đồng ý công khai, nên thẻ 1, 2, 3 hiện câu trạng thái thật. Giá đọc từ
GET /v1/public/membership-pricing, không chép số. - Thẻ 9 có đúng một nút chính (bài chẩn đoán trên learn), hai nút viền (học thử NEMO SPEAK, NEMO WALK).
- Dữ liệu ở
ieltsLearnerJourneyData.ts, trang ởIeltsLearnerJourney.tsx; mọi câu trả lời nằm sẵn trong HTML dựng tĩnh (thẻ đóng chỉ ẩn, không gỡ khỏi DOM).