Quản lý khóa học - Achievements (Profile & Cross-course)
DomainsDOL EnglishUX604 words3 min read
Purpose
Phần tiêu đề “Purpose”- Tổng hợp và trưng bày huy hiệu/hạng thành tích từ nhiều khóa (bao gồm Leaderboard per-khóa) mà không làm nhiễu Worklist.
- Tăng động lực dài hạn và khả năng ghi nhận, đồng thời giữ riêng tư trong phạm vi lớp khi cần.
Elements / Scope
Phần tiêu đề “Elements / Scope”- Vị trí: tab/section
Achievementstrong Profile; truy cập từ Home (Leaderboard snapshot, leaderboard pulse strip) và Course Detail (Leaderboard). - Nội dung: huy hiệu/hạng đã nhận từ nhiều nguồn: Leaderboard per-khóa, chứng chỉ, thành tích đặc biệt (streak, giờ học), series (Attendance/Vocab/Writing…).
- Vai trò trung tâm: đây là nơi duy nhất tổng hợp huy hiệu cross-course; không nhân bản sang All-courses.
- Filter: loại bài (Final test, Assignment, Exercise, Online test, Vocabulary, Dictation, khác), trạng thái (đang chờ chốt, đã chốt), khóa học, thời gian.
- Card huy hiệu: icon, tên, khóa, hạng/rank, ngày chốt, participants/defeated (nếu có), loại bài/series, trạng thái (active/revoked/pending).
- Link-out: deeplink khóa gốc hoặc Leaderboard read-only; nếu khóa đã khóa/chấm xong thì view read-only; nếu còn mở thì xem snapshot hiện tại.
- History: danh sách 3–5 huy hiệu gần nhất + strip cập nhật huy hiệu mới nhận (dùng chung với Home pulse).
Logic / Rules
Phần tiêu đề “Logic / Rules”- Data source: snapshot khi khóa chốt (H+7 hoặc theo cấu hình chấm tay); không tái tính cross-course; lưu
ruleVersion. - Privacy: chỉ hiển thị huy hiệu cá nhân; ẩn danh sách lớp khác; chế độ private/public theo profile setting.
- Ordering: mặc định mới nhất → cũ hơn; sort theo hạng/loại/thời gian.
- Metadata:
courseId,category,rank,participantsCount,defeatedCount,closedAt,seriesId(Attendance/Vocab/…),ruleVersion,status(active/revoked/pending). - Recognition boundary:
- Achievements là kho ghi nhận thành tích, không phải rank engine.
- rank metadata trong badge card là snapshot lịch sử để giải thích thành tích, không phải live rank toàn nền tảng.
- Revoked: đánh dấu revoked; ẩn khỏi view chính, đẩy sang lịch sử, lý do thu hồi.
- Linking: từ Home pulse strip/Leaderboard snapshot → mở đúng huy hiệu; từ Course Detail → mở huy hiệu của khóa đó.
- Streak/giờ học: nếu huy hiệu thuộc series (streak tổng, giờ học tuần) ghi rõ nguồn dữ liệu (logging học tập).
- Đồng bộ Memory Capsule: huy hiệu lớp trong Memory chỉ là snapshot read-only; click sẽ điều hướng về Achievements/Leaderboard để xem đầy đủ.
UI / Behavior
Phần tiêu đề “UI / Behavior”- Grid/list huy hiệu, filter chips; có thanh tóm tắt (huy hiệu gần nhất, hạng cao nhất, tổng huy hiệu).
- Badge card: icon + tên + khóa + rank + ngày chốt + trạng thái; hover/tooltip giải thích rule/version, cách tính, thời gian chốt.
- History strip: 3 huy hiệu gần nhất; pulse strip khi có huy hiệu mới (deeplink về chi tiết).
- CTA “Xem chi tiết khóa” mở Leaderboard khóa (read-only nếu chốt); nếu chưa chốt thì xem snapshot hiện tại.
- Empty state: “Chưa có thành tích” + CTA về Home/Courses/Practice.
- Accessibility: icon/label kèm text; trạng thái revoked/pending có nhãn rõ ràng.
- Export/share (optional): xuất PDF/PNG huy hiệu; toggle hiển thị public/private.
Change log
Phần tiêu đề “Change log”- 2026-03-09: Chốt Achievements là recognition layer độc lập; rank metadata chỉ là snapshot lịch sử, không làm đổi cross-area ranking formula.
- 2026-02-11: Chốt Achievements là nơi tổng hợp huy hiệu cross-course duy nhất; All-courses không hiển thị huy hiệu thành tích.
- 2026-01-20: Bổ sung history strip, liên kết Home/Leaderboard, metadata series/streak/giờ học, ruleVersion.
- 2026-01-19: Khởi tạo Achievements (Profile) để tổng hợp huy hiệu cross-course.