DOL Kid LMS - Sitemap
Phạm vi:
Logged-in KID LMSsau khi phụ huynh đã chọn đúng child context. Focus hiện tại:LMS Home shell,Learning Stats,Kho đề / Test Bank, lane học theo khóa, và laneExercise. Coverage note:Assignment W/SvàAI-powered Exerciseđã được canon hóa ở logic layer, nhưng chưa được route-expand đầy đủ trong sitemap v1 này. Non-goals: Exercise Bank, top-level Results/Stats/Leaderboard/Certificate pages, analytics phụ huynh trong Course Detail.
North Star Flow
Phần tiêu đề “North Star Flow”Parent Dashboard └─→ LMS Home └─→ Course List └─→ Course Detail ├─→ (via Overview / Learn / Practice tab) └─→ Exercise Home └─→ Exercise Detail [Do Exercise] └─→ Exercise Detail [Done / Xem điểm] └─→ (update progress) Exercise Home └─→ (update progress) Course DetailSitemap
Phần tiêu đề “Sitemap”1. LMS Home
Phần tiêu đề “1. LMS Home”URL pattern: /kid/lms
Vai trò: Home shell sau child-context selection, trả lời “bé đang học gì, sắp học gì, đã đạt được gì, và nên làm gì tiếp theo”.
| State | Trigger | Nội dung chính |
|---|---|---|
normal | Có ít nhất 1 khóa đang học | Tab Overview default, summary gọn + preview cards + điểm vào Khóa học |
no_course_assigned | Chưa mua / chưa được assign khóa nào | Empty state, hướng phụ huynh tới trang khóa học |
LMS Home tabs
Phần tiêu đề “LMS Home tabs”| Tab | Vai trò | Ghi chú |
|---|---|---|
Overview | Tab mặc định, chứa summary + Việc cần làm section + snapshot rail cô đọng từ các tab khác + reminder card | Snapshot chỉ nhắc tín hiệu quan trọng nhất của tab owner |
Khóa học | Chứa course-specific snapshot + next action + course strip | Entry chính vào Course List |
Kho đề | Kho tự luyện đề theo level và dạng đề | Không phụ thuộc syllabus của khóa |
Lịch học | Chỉ xem schedule sắp tới | Không đi sâu vào nội dung bên trong buổi học |
Thành tích | Xem certificate, badge, vinh danh học viên của tháng | Tab động lực, không phải analytics |
Kỷ niệm | Thư viện hình ảnh/kỷ niệm | Later |
CTA chính từ tab Overview: đưa user sang tab Khóa học.
CTA phụ hợp lệ: mở Learning Stats.
CTA chính từ tab Khóa học: Đưa user vào Course List.
Global top bar: Active child chip + Active course chip + nút ”↩ Parent Dashboard”.
Kho đề tab content
Phần tiêu đề “Kho đề tab content”| Element | Mô tả |
|---|---|
| Level gate | Chỉ mở Starter / Movers / Flyers phù hợp với child hiện tại |
| Type groups | Full Test, Reading & Writing, Listening, Speaking |
| Item list | Danh sách đề trong group đang chọn với trạng thái available / in_progress / done |
Rule:
Kho đềlà lane tự luyện độc lập với course syllabus. Không dùng tab này để hiển thị homework hay progress của khóa học.
1b. Learning Stats
Phần tiêu đề “1b. Learning Stats”URL pattern: /kid/lms/learning-stats
Vai trò: Trả lời “bé đang tiến bộ tới đâu, vừa làm được gì gần đây, và nên tập trung điều gì tiếp theo” theo cách nhẹ, child-friendly.
| State | Trigger | Nội dung chính |
|---|---|---|
new_learner | Dữ liệu học tập còn ít | copy tích cực + focus vào bắt đầu chặng học đầu tiên |
active_progress | Có khóa và có dữ liệu gần đây | Learning Pulse Hero + progress snapshot + focus next |
between_tasks | Vừa hoàn thành một hoạt động | recent completion + next focus |
no_course_assigned | Chưa có khóa | empty state nhẹ, không tạo stats giả |
Learning Stats content
Phần tiêu đề “Learning Stats content”| Cluster | Mô tả |
|---|---|
Learning Pulse Hero | 1 insight chính, không nhiều KPI ngang hàng |
Current Course Progress | khóa hiện tại, đang ở topic/chặng nào, đã đi được bao xa |
Recent Learning Activity | snapshot ngắn của exercise/test gần đây |
Focus Now | 1 gợi ý tiếp theo dễ hiểu cho trẻ |
Rule:
Learning Statslà secondary view củaLMS Home, không phải top-level tab thứ 7 và không thay vai trò củaThành tíchhoặcParent Dashboard.
2. Course List
Phần tiêu đề “2. Course List”URL pattern: /kid/lms/courses
Vai trò: Trả lời “bé đang có những khóa nào và vào khóa nào bây giờ”.
| State | Trigger | Layout |
|---|---|---|
one_course | Chỉ 1 khóa | Hero card lớn, CTA trực tiếp vào Course Detail |
many_courses | Từ 2 khóa trở lên | Grid / list card, highlight khóa đang active |
Navigation đi ra: → Course Detail (chọn một khóa cụ thể).
3. Course Detail
Phần tiêu đề “3. Course Detail”URL pattern: /kid/lms/courses/:courseId
Vai trò: Trả lời “trong khóa này bé đang ở đâu và nên đi tiếp vào lane nào”.
Course Detail chỉ có 3 tab cố định:
3a. Course Detail / Overview
Phần tiêu đề “3a. Course Detail / Overview”URL pattern: /kid/lms/courses/:courseId/overview
| Element | Mô tả |
|---|---|
| Course progress bar | % hoàn thành tổng khóa |
| Lesson progress | Danh sách bài học + trạng thái |
| Exercise summary strip | Số bài exercise chưa làm / đã xong - CTA → Exercise Home |
| CTA chính | ”Tiếp tục học” → Exercise Home hoặc bài học tiếp theo |
3b. Course Detail / Learn
Phần tiêu đề “3b. Course Detail / Learn”URL pattern: /kid/lms/courses/:courseId/learn
| Element | Mô tả |
|---|---|
| Topic / lesson syllabus | Danh sách học theo 24 topic với trạng thái (locked / in-progress / done) |
| CTA mỗi bài | ”Xem bài” → Player (ngoài scope hiện tại) |
| Exercise shortcut | Link phụ → Exercise Home |
3c. Course Detail / Practice
Phần tiêu đề “3c. Course Detail / Practice”URL pattern: /kid/lms/courses/:courseId/practice
| Element | Mô tả |
|---|---|
| Exercise library view | Nhìn khóa theo hướng kho bài tập |
| Exercise entry point | Card / banner → Exercise Home |
| Practice types (future / next expansion) | Online Test, Dictation, Vocab, Assignment W/S, AI-powered Exercise - placeholder nếu chưa mở |
Rule: User KHÔNG nhảy thẳng từ Course Detail vào một attempt. Phải đi qua Exercise Home trước.
Navigation đi ra từ mọi tab: → Exercise Home.
4. Exercise Home
Phần tiêu đề “4. Exercise Home”URL pattern: /kid/lms/courses/:courseId/exercises
Vai trò: Trả lời “trong khóa này có những bài exercise nào, bài nào cần làm ngay, bài nào đã xong, điểm hiện tại ra sao”.
States
Phần tiêu đề “States”| State | Trigger | UI |
|---|---|---|
loading | Đang fetch data | Skeleton cards |
empty | Không có bài nào được assign | Empty state, message + nút quay lại Course Detail |
error | Fetch thất bại | Error state, nút retry |
success | Có dữ liệu | Danh sách exercise cards |
Exercise card statuses (state success)
Phần tiêu đề “Exercise card statuses (state success)”| Card status | Hiển thị |
|---|---|
| Bắt buộc, chưa làm | Badge “Cần làm”, no score |
| Đang làm dở | Badge “Tiếp tục”, progress % |
| Đã xong | Badge “Hoàn thành” + điểm (nếu có) |
| Bài ôn / làm thêm | Badge “Ôn lại”, no priority highlight |
Priority sort order
Phần tiêu đề “Priority sort order”- Bài bắt buộc chưa làm
- Bài đang làm dở
- Bài vừa xong / cần xem điểm
- Bài ôn lại hoặc làm thêm
Post-completion update: Sau khi hoàn thành Exercise Detail, hệ thống phải:
- Cập nhật card bài tương ứng trong Exercise Home
- Cập nhật summary strip của Exercise Home
- Cập nhật progress lane exercise trong Course Detail
Navigation đi ra: → Exercise Detail / Do Exercise. Return path: → Course Detail | → LMS Home.
5. Exercise Detail
Phần tiêu đề “5. Exercise Detail”URL pattern: /kid/lms/courses/:courseId/exercises/:exerciseId
Vai trò: Nơi làm bài và xem kết quả của chính bài đó.
Exercise Detail có 2 state chính:
5a. Exercise Detail / Do Exercise
Phần tiêu đề “5a. Exercise Detail / Do Exercise”State: do_exercise
| Element | Mô tả |
|---|---|
| Exercise player | Câu hỏi / task của bài |
| Progress indicator | Câu x / tổng số câu |
| Submit CTA | ”Nộp bài” → chuyển sang state done_xem_diem |
| Exit | Nút thoát → về Exercise Home (progress giữ nguyên) |
5b. Exercise Detail / Done - Xem điểm
Phần tiêu đề “5b. Exercise Detail / Done - Xem điểm”State: done_xem_diem
| Element | Mô tả |
|---|---|
| Score display | Điểm số / kết quả bài |
| Feedback / review | Đáp án đúng/sai (nếu enabled) |
| CTA chính | ”Quay về danh sách bài” → Exercise Home |
| CTA phụ (tuỳ chọn) | “Làm lại” → reset về state do_exercise |
Rule:
Done / Xem điểmkhông là một page/module riêng. Nó là state thứ 2 củaExercise Detail. Không tạo route mới cho state này.
Full Route Map
Phần tiêu đề “Full Route Map”/kid/lms → LMS Home/kid/lms/learning-stats → Learning Stats/kid/lms/courses → Course List/kid/lms/courses/:courseId → Course Detail (default: Overview tab)/kid/lms/courses/:courseId/overview → Course Detail / Overview/kid/lms/courses/:courseId/learn → Course Detail / Learn/kid/lms/courses/:courseId/practice → Course Detail / Practice/kid/lms/courses/:courseId/exercises → Exercise Home/kid/lms/courses/:courseId/exercises/:exerciseId → Exercise Detail (state: do_exercise | done_xem_diem)Routing Context Contract
Phần tiêu đề “Routing Context Contract”Required context for Exercise route family
Phần tiêu đề “Required context for Exercise route family”| Key | Mục đích |
|---|---|
child_id | Giữ đúng child context |
course_id | Giữ đúng khóa học |
exercise_id | Xác định đúng bài |
source_context | Biết user đi từ lms_home, course_overview, course_learn, course_practice, hay result_next_step |
returnTo | Đảm bảo quay lại đúng context sau khi hoàn thành |
Fallback rules
Phần tiêu đề “Fallback rules”- Nếu
returnTohết hạn hoặc không hợp lệ, fallback vềExercise Home. - Nếu thiếu context để vào
Exercise Home, fallback vềCourse Detail / Practice. - Sitemap v1 chỉ khóa cứng routing-context cho lane
Exercise; các lane khác sẽ được bổ sung khi route-expand.
Navigation Flow Diagram
Phần tiêu đề “Navigation Flow Diagram”[Parent Dashboard] │ ▼ [LMS Home] ──────────────────────────────────────────────────────┐ │ CTA chính │ ▼ │ [Course List] │ │ chọn khóa │ ▼ │ [Course Detail] ◄──────────────────────────────────────┐ │ ┌────┴─────────────────────┐ │ │ │ Overview │ Learn │ Practice │ │ └────────────────┬─────────┘ │ │ │ CTA (từ bất kỳ tab nào) │ │ ▼ │ │ [Exercise Home] ◄──────────────────────────────┤ │ │ chọn bài │ │ ▼ │ │ [Exercise Detail] │ │ state: do_exercise │ │ │ nộp bài │ │ ▼ │ │ [Exercise Detail] │ │ state: done_xem_diem │ │ │ quay về │ │ └───────────────────────────────────►┘ │ │ [LMS Home] ◄──────────────────────────────────────────────────────┘State × Screen Matrix
Phần tiêu đề “State × Screen Matrix”| Screen | States |
|---|---|
| LMS Home | normal · no_course_assigned · tab Overview(default) · tab Khóa học · tab Kho đề · tab Lịch học · tab Thành tích · tab Kỷ niệm(later) |
| Learning Stats | new_learner · active_progress · between_tasks · no_course_assigned |
| Course List | one_course · many_courses |
| Course Detail | overview · learn · practice |
| Exercise Home | loading · empty · error · success |
| Exercise Detail | do_exercise · done_xem_diem |
Non-Goals (Không nằm trong sitemap này)
Phần tiêu đề “Non-Goals (Không nằm trong sitemap này)”- ❌ Exercise Bank (top-level, cross-course)
- ❌ Top-level analytics-heavy Results / Stats / Leaderboard / Certificate pages
- ❌
Done / Xem điểmas a separate route/module - ❌ Analytics phụ huynh trong Course Detail
- ❌ Search / filter / sort phức tạp trong Exercise Home (baseline)
Backlog Priorities
Phần tiêu đề “Backlog Priorities”| Lane | Path / shape | Ưu tiên | Ghi chú |
|---|---|---|---|
Assignment W/S | /kid/lms/courses/:id/assignments | P1 | Logic-approved; chưa route-expand trong sitemap v1 |
AI-powered Exercise | /kid/lms/courses/:id/ai-practice | P1 | Logic-approved; cần contract riêng trước khi route-expand |
Online Test | /kid/lms/courses/:id/tests | P2 | Sau khi Exercise lane ổn định |
Dictation | /kid/lms/courses/:id/dictation | P2 | Practice Launcher future |
Vocab | /kid/lms/courses/:id/vocab | P2 | Practice Launcher future |
References
Phần tiêu đề “References”KID_LMS_00_Overview.mdKID_LMS_Home.mdKID_LMS_Learning_Stats_00_Overview.mdKID_LMS_Course_Management_Flow.mdKID_LMS_Exercise_00_Overview.mdKID_LMS_Exercise_Home.mdKID_LMS_Exercise_Flow.md
Change log
Phần tiêu đề “Change log”- 2026-03-24: Bổ sung
Learning Statsnhư secondary view learner-facing ở cấpLMS Home; không mở thêm top-level tab mới. - 2026-03-23: Chuyển
LMS Homesang5-tab shell;Overviewlà tab riêng và là default, cònKhóa họctrở thành tab quyết định chính trướcCourse List. - 2026-03-23: Làm rõ
Overviewlà tab summary mặc định củaLMS Home; tabLịch họcchỉ focus vào schedule, còn stats khóa học nằm ở tabKhóa học. - 2026-03-16: Tạo sitemap đầu tiên cho
logged-in KID LMStừ Logic Handoff. Focus: lane Course + Exercise. - 2026-03-17: Làm rõ đây là
sitemap v1choExerciseroute family;Assignment W/SvàAI-powered Exerciselà logic-approved backlog, chưa route-expand đầy đủ. - 2026-03-17: Bổ sung
Routing Context Contractđể flow/parity review có đủ dữ liệu vềsource_contextvàreturnTo.