DOL Edu - Login UX Scenario Catalog
DomainsDOL EnglishUX1.296 words6 min read
Purpose
Phần tiêu đề “Purpose”- Tổng hợp các tình huống login cần bao phủ cho
DOL English,DOL Academy,DOL Kid. - Giúp Product/Design review nhanh mà không cần đi vào logic kỹ thuật.
How to use
Phần tiêu đề “How to use”- Dùng khi thiết kế/review login flow.
- Ưu tiên đọc theo cột
Domainđể kiểm tra đúng ngữ cảnh. - Nếu có xung đột, ưu tiên
REG_Login_UX_Blueprint.md.
Scenario Matrix (Cross-domain)
Phần tiêu đề “Scenario Matrix (Cross-domain)”| Scenario | Domain | Trigger | Surface | Kết quả UX mong đợi |
|---|---|---|---|---|
| User cũ đăng nhập | All | Bấm CTA login | Full-page | Vào đúng màn gần nhất hợp lệ của domain hiện tại |
| User bấm CTA auth toàn cục ở trang public | All | Bấm login/signup từ nav/header/footer/hero chính | Full-page | User vào luồng auth độc lập, funnel rõ, không bị popup làm rối |
| User đăng nhập bằng email phụ đã verify | English/Academy | Nhập email phụ của cùng account | Full-page | Vào đúng cùng account, không tạo account mới |
| User mới đăng ký | All | Nhập email mới | Full-page | Tạo tài khoản nhanh, không ép profile dài |
| Guest bấm action protected | All | Save/Bookmark/Start | Popup | Login xong tự quay lại action |
| Quên mật khẩu | All | Từ màn login | Recovery flow | Reset xong quay lại login với email đã điền |
| Recovery bằng email phụ đã verify | English/Academy | Bấm quên mật khẩu với email phụ | Recovery flow | Nhận diện đúng account hiện có, không báo “email chưa có tài khoản” |
| Email cũ ở flow signup | All | Signup bằng email có sẵn | Cùng flow | Chuyển sang login, giữ email |
| Email mới ở flow login | All | Login bằng email chưa có | Cùng flow | Gợi ý đăng ký ngay |
| OTP sai/hết hạn | All | Bước OTP | Cùng surface | Báo lỗi ngắn + CTA gửi lại |
| Link reset lỗi | All | Vào từ link email | Full-page | Fallback OTP, không dead-end |
| User nhận email recovery có OTP + link | All | Mở email recovery | Mixed | User chọn cách thuận tiện hơn nhưng vẫn đi cùng một logic recovery |
| Login trên thiết bị mới | All | Password login từ thiết bị chưa tin cậy | Cùng surface | Step-up rõ ràng, user hiểu đây là xác thực bổ sung chứ không phải lỗi account |
| Vượt giới hạn phiên/thiết bị | All | Đăng nhập khi đã đủ phiên active | Full-page | Chặn rõ lý do, hiển thị danh sách phiên đang dùng để logout từ xa rồi tiếp tục |
| Session hết hạn khi đang thao tác | All | Timeout giữa chừng | Full-page re-auth | Quay lại context đang dở |
| Login cross-domain | English -> Academy/Kid | Dùng cùng account ở domain khác | Full-page | Login thành công, vào điểm bắt đầu đúng domain đích |
| Domain đích chưa có dữ liệu | Academy/Kid | Login thành công nhưng trống dữ liệu | Full-page | Vào màn “bắt đầu phù hợp”, không lỗi mơ hồ |
| Parent tạo tài khoản học cho con | Kid | Phụ huynh vào không gian quản lý | Parent flow | Tạo hồ sơ học cho con nhanh, không mơ hồ |
| Con vào học bằng code | Kid | Nhập code được cấp | Kid entry flow | Vào đúng không gian học của con, không lẫn vai trò |
| Chuyển từ code KID sang login độc lập | Kid -> English/Academy | User lớn lên và cần tự quản account | Full-page setup | Kích hoạt email/password trên cùng account, giữ lịch sử học |
| User lớn lên chuyển sang English/Academy | Kid -> English/Academy | Dùng tiếp account đã có | Full-page | Giữ continuity account, không tạo lại từ đầu |
| Guardian vào Kid domain | Kid | Phụ huynh đăng nhập | Full-page | Hiển thị luồng phù hợp vai trò phụ huynh |
| Mở nhầm lane phụ huynh ở English/Academy | English/Academy | User đi vào deep link phụ huynh | Redirect | Điều hướng sang Kid domain; không hiển thị lane phụ huynh ở domain hiện tại |
| User đóng popup nhiều lần | All | Từ action protected | Popup | Không làm hỏng màn trước, user quay lại được |
| Context sau login không hợp lệ | All | Route cũ không còn | Fallback route | Về route gần nhất cùng ý định, rồi mới Home |
Stress Scenarios (Must-pass)
Phần tiêu đề “Stress Scenarios (Must-pass)”1) User đổi qua lại Login/Signup liên tục
Phần tiêu đề “1) User đổi qua lại Login/Signup liên tục”- Không mất email đã nhập.
- Không bắt nhập lại từ đầu.
- Email phụ đã verify không bị hiểu nhầm thành account mới.
2) Cross-domain chuyển nhanh trong cùng phiên
Phần tiêu đề “2) Cross-domain chuyển nhanh trong cùng phiên”- Không tạo cảm giác bị “đăng xuất ngầm”.
- Luôn rõ user đang ở domain nào.
3) Kid role clarity
Phần tiêu đề “3) Kid role clarity”- Phụ huynh và học viên không bị lẫn thông điệp.
- Luôn có hành động kế tiếp rõ ràng cho từng vai trò.
- Không hiển thị UI/lane phụ huynh trên English/Academy.
4) Parent-managed code access
Phần tiêu đề “4) Parent-managed code access”- Phụ huynh tạo account cho con không bị rối bước.
- Con nhập code sai vẫn có hướng xử lý rõ.
- Con vào học đúng profile, không nhầm sang tài khoản khác.
- Khi cần login độc lập, user được nâng cấp trên cùng account (không bị tách account mới).
5) Action replay an toàn
Phần tiêu đề “5) Action replay an toàn”- Action cũ còn hợp lệ thì replay ngay.
- Không còn hợp lệ thì có CTA thay thế gần nhất.
6) Device/session clarity
Phần tiêu đề “6) Device/session clarity”- Nếu có giới hạn đăng nhập, user phải hiểu giới hạn theo account hoặc phiên đang active.
- Không dùng copy khiến user hiểu nhầm là quota theo
desktop/tablet/mobilenếu sản phẩm không chốt rule đó. - Khi chạm limit, user có thể tự logout phiên cũ mà không cần đi qua support.
7) Surface selection clarity
Phần tiêu đề “7) Surface selection clarity”- CTA auth toàn cục ở bề mặt public nên đi full-page.
- Popup chỉ dùng khi user đang cần hoàn tất một action protected ngay trong context.
- Nếu popup không còn tối ưu, phải có đường fallback sang full-page mà không làm mất return path.
8) Recovery delivery clarity
Phần tiêu đề “8) Recovery delivery clarity”- OTP là đường chính trên UI recovery.
- Link trong email là shortcut, không phải một logic reset khác.
- User dùng OTP hay link cũng phải đi về cùng một account recovery.
Flow Sample - Cross-domain nhưng domain đích chưa có dữ liệu
Phần tiêu đề “Flow Sample - Cross-domain nhưng domain đích chưa có dữ liệu”- User đã có account từ DOL English, mở DOL Academy.
- User login thành công bằng cùng account.
- Hệ thống không báo lỗi “không có dữ liệu”.
- Hệ thống đưa user vào màn bắt đầu phù hợp của Academy (ví dụ: chọn lộ trình đầu tiên).
- CTA chính rõ:
Bắt đầu lộ trình.
UX Quality Signals
Phần tiêu đề “UX Quality Signals”- User luôn hiểu bước hiện tại.
- Không có dead-end.
- Login xong không mất ý định ban đầu.
- Trải nghiệm khác domain nhưng vẫn “cùng một hệ”.
Change log
Phần tiêu đề “Change log”- 2026-03-05: Nâng scenario catalog lên cross-domain, bổ sung case Academy/Kid và chuyển domain.
- 2026-03-05: Bổ sung scenario redirect khi lane phụ huynh bị mở ngoài domain KID.
- 2026-03-06: Bổ sung coverage cho login/recovery bằng email phụ đã verify của cùng account.
- 2026-03-06: Bổ sung scenario cho thiết bị mới và giới hạn phiên/thiết bị theo logic account-level.