Bỏ qua để đến nội dung

DOL Edu - Login UX Blueprint (Cross-domain, Product-first)

DomainsDOL EnglishUX1.504 words8 min read
active
  • Định nghĩa trải nghiệm login dùng chung cho DOL English, DOL Academy, DOL Kid.
  • Giữ luồng đăng nhập đơn giản, dễ hiểu, không mất ngữ cảnh học.
  • Bao quát nhiều tình huống thực tế mà không đẩy tài liệu sang hướng kỹ thuật.
  • Một tài khoản có thể dùng xuyên suốt nhiều domain trong hệ DOL Edu.
  • Một tài khoản có 1 primary email và có thể có thêm verified login emails để user đăng nhập bằng nhiều email trên cùng account.
  • Trong V1, ưu tiên giữ mô hình đơn giản: 1 primary + tối đa 2 email phụ.
  • Quản lý thiết bị nên bám theo trạng thái account/phiên đăng nhập, không chia rule cứng theo desktop/tablet/mobile.
  • Khác biệt giữa domain nằm ở trải nghiệm hiển thị và điểm đến sau login, không nằm ở “bản chất tài khoản”.
  • Với DOL Kid, phụ huynh đăng nhập vào khu quản lý tài khoản để tạo tài khoản học cho con.
  • Luồng phụ huynh quản lý tài khoản chỉ tồn tại ở domain DOL Kid.
  • DOL EnglishDOL Academy không hiển thị entry/login lane dành cho phụ huynh.
  • Child account ở KID không dùng multi-email login; chỉ áp dụng sau khi account được nâng cấp sang login độc lập.
  • Con vào KID bằng code được cấp, ưu tiên thao tác đơn giản và an toàn.
  • Khi user lớn lên, tài khoản KID được nâng cấp thành login độc lập (email/password) trên cùng account, không tạo lại từ đầu.
  • Tài khoản học ở Kid được giữ liên tục để user dùng tiếp khi chuyển sang DOL English/DOL Academy.
  • Đúng lúc: chỉ yêu cầu login khi cần.
  • Đúng việc: login xong quay lại đúng ý định ban đầu.
  • Không bế tắc: mọi lỗi đều có bước tiếp theo rõ.
  • Đơn giản: mỗi màn chỉ một hành động chính.
  • Browse-first:
    • user được xem trước; chỉ login khi cần lưu dữ liệu hoặc làm action protected.
  • Intent-first surface:
    • auth-intent chủ động -> full-page.
    • action-intent bị chặn -> popup in-context.
    • CTA auth toàn cục hoặc journey auth độc lập vẫn đi full-page dù user đang đứng trong một section public.
  • Email-first:
    • nhập email trước để nhận diện nhanh đường đi phù hợp.
    • mọi verified email gắn với account đều có thể được dùng để nhận diện cùng một user.
  • Password-default + OTP fallback:
    • đăng nhập mặc định bằng mật khẩu, luôn có đường OTP khi cần.
  • Session-control over OS-buckets:
    • nếu cần giới hạn đăng nhập, giới hạn theo số phiên active hoặc thiết bị tin cậy ở cấp account.
    • không dùng quota 1 desktop + 1 tablet + 1 mobile như mặc định.
  • Return-to-context:
    • sau xác thực, quay lại đúng bước user vừa muốn làm.
DomainƯu tiên UX khi loginĐiểm đến mặc định sau loginLưu ý trải nghiệm
DOL EnglishVào học nhanh, tiếp tục bài dang dởHome học tập gần nhấtNhấn mạnh tốc độ quay lại flow học; không mở lane phụ huynh KID
DOL AcademyNhìn lộ trình/khóa học rõ ràngDashboard chương trìnhNhấn mạnh định hướng và kế hoạch học; không mở lane phụ huynh KID
DOL KidPhụ huynh dễ kiểm soát, trẻ không lạc hướngMàn phù hợp vai trò (phụ huynh/học viên)Phụ huynh tạo tài khoản cho con, con vào học bằng code
  • Email -> Password -> Thành công -> quay lại đúng trang trước đó.
  • Email nhập vào có thể là primary hoặc email phụ đã verify của cùng account.
  • Nếu quên mật khẩu: chuyển sang recovery mà không mất email đã nhập.
  • Email mới -> Đăng ký -> xác thực -> vào domain hiện tại.
  • Không ép điền profile dài ở bước đầu.
  • Mở popup auth ngay trong ngữ cảnh.
  • Xác thực xong tự replay action vừa bấm nếu còn hợp lệ.
  • Vào từ login.
  • Kênh chính: Email OTP.
  • Kênh phụ: Link email.
  • Một email recovery có thể chứa cả OTP + link shortcut; OTP vẫn là đường chính trên UI.
  • Nếu user nhập một verified login email, recovery vẫn nhận diện đúng account đó.
  • Nếu link lỗi vẫn quay về OTP, không dead-end.
  • User đăng ký ở domain A, login domain B bằng cùng tài khoản.
  • Hệ thống giữ thông tin tài khoản chung, chỉ đổi trải nghiệm theo domain B.

Journey F - Login thành công nhưng domain chưa có dữ liệu

Phần tiêu đề “Journey F - Login thành công nhưng domain chưa có dữ liệu”
  • Không báo lỗi mơ hồ.
  • Đưa user vào “điểm bắt đầu phù hợp” của domain đó.

Journey G - Parent-managed Kid Onboarding (Kid-only)

Phần tiêu đề “Journey G - Parent-managed Kid Onboarding (Kid-only)”
  • Phụ huynh đăng nhập vào KID, vào khu quản lý tài khoản và tạo hồ sơ học cho con.
  • Hệ thống cấp code truy cập cho con dùng để vào học.
  • Con vào nền tảng KID bằng code, không cần tự xử lý flow phức tạp.
  • Khi user lớn lên và chuyển sang English/Academy, tài khoản được nâng cấp login độc lập trên cùng account continuity.
  • Nhập email cũ ở flow đăng ký -> chuyển sang login, giữ email.
  • Nhập email mới ở flow đăng nhập -> gợi ý đăng ký ngay, không nhập lại.
  • Nhập email phụ đã verify -> login thành công vào cùng account, không tạo account mới.
  • OTP sai/hết hạn -> thông báo ngắn + CTA gửi lại mã.
  • User đóng popup -> giữ nguyên màn trước, không mất ý định.
  • User bấm CTA auth toàn cục ở trang public -> vào full-page, không ép popup chỉ vì đang ở giữa một section.
  • Context cũ không còn hợp lệ -> fallback route gần nhất cùng ý định, sau đó mới về Home.
  • User chuyển domain liên tiếp -> không bắt login lại vô lý trong cùng phiên.
  • User login ở thiết bị mới -> có thể cần xác thực thêm, nhưng vẫn hiểu rõ đây là cùng một account.
  • User vượt giới hạn phiên/thiết bị -> được xem danh sách phiên active và tự logout thiết bị cũ để tiếp tục.
  • Code của con sai/hết hiệu lực -> luôn có CTA rõ để nhập lại code hoặc nhờ phụ huynh cấp lại.
  • Phụ huynh quản lý nhiều con -> mỗi con có entry rõ, tránh nhầm profile.
  • User chuyển từ code KID sang email/password -> không tạo tài khoản mới, không mất lịch sử học.
  • Nếu mở nhầm lane phụ huynh ở English/Academy -> chuyển hướng sang domain Kid, không xử lý phụ huynh tại domain đó.
  • Intent-first surface.
  • Return-to-context.
  • Recovery không dead-end.
  • Logic chuyển login/signup theo trạng thái email.
  • Primary email là email chuẩn cho hồ sơ và thông báo quan trọng; email phụ chỉ là login identifiers bổ sung.
  • Device/session policy phải được giải thích theo logic account, không theo bucket hệ điều hành, trừ khi có domain exception được chốt riêng.
  • Recovery delivery phải nhất quán: OTP là đường chính; link chỉ là shortcut cùng một logic recovery.
  • Continuity từ Kid sang English/Academy giữ cùng danh tính và lịch sử học của người học.
  • Boundary domain: lane phụ huynh chỉ có ở Kid, không render tại English/Academy.
  • Copy tone.
  • Màn đích sau login.
  • Nhóm action protected được ưu tiên.
  • Tỷ lệ login thành công ở lần thử đầu.
  • Tỷ lệ hoàn tất auth khi bị chặn action.
  • Tỷ lệ quay lại đúng context sau auth.
  • Tỷ lệ rơi ở recovery.
  • 2026-03-05: Chuẩn hóa blueprint theo hướng cross-domain (English/Academy/Kid), giữ UX-first và giảm thiên kỹ thuật.
  • 2026-03-05: Khóa domain boundary cho lane phụ huynh: chỉ KID, không render tại English/Academy.
  • 2026-03-06: Bổ sung mô hình 1 primary + verified login emails, cho phép nhiều email đăng nhập trên cùng account.
  • 2026-03-06: Bổ sung nguyên tắc quản lý thiết bị theo account/session control, không theo quota hệ điều hành.