PRD: Tài khoản & cấu hình người dùng
| Module | Quản lý User | PRD ID | PRD-USR-001 |
| Trạng thái | Sẵn sàng dev | FEAT | USR |
| Epic | — | Plane | BANA-1527 |
| Ngày | 2026-05-27 | Phiên bản | v1.0 |
| Gói | @nx/identity | URD | USR |
| Surface | Client · Chủ/QLBO · Vận hành | ||
| Phụ trách | Phát Nguyễn | ||
Tài khoản & cấu hình người dùng là gì
Mỗi người dùng trên BANA sở hữu đúng một tài khoản (User Account) bền vững: một ID do hệ thống sinh ra, không bao giờ bị xóa vật lý dù tài khoản có bị gỡ. Một tài khoản giữ được nhiều định danh đăng nhập (Login Identifier) - username, email, số điện thoại - và không bao giờ tồn tại hai tài khoản dùng chung một username, một email hay một số điện thoại đã xác minh.
Mọi module khác đều tin vào danh tính và phạm vi do Quản lý Người dùng cấp, nên bản thân tài khoản - cùng các định danh, hồ sơ (Profile), trạng thái và thiết lập cá nhân - phải tồn tại trước khi gắn được vai trò, nhân viên hay khách hàng lên trên. Thiếu một tài khoản hạng nhất thì không có chủ thể ổn định để gắn vai trò, không có cách biết chắc một email hay số điện thoại thực sự thuộc về ai, không có chỗ lưu tùy chọn riêng như ngôn ngữ, và không gì đảm bảo dữ liệu tài khoản còn sống sau một lần "xóa". PRD này dựng nền móng đó cho toàn bộ nền tảng.
Một người dùng, từ lúc đăng ký tới lúc dùng hằng ngày
Một người đăng ký bằng username - tài khoản, hồ sơ, định danh và một bộ cấu hình (User Configuration) mặc định được tạo cùng lúc. Người dùng mở trang hồ sơ, sửa họ tên và ngày sinh, tải lên ảnh đại diện. Ở góc trên header, người dùng bấm đổi ngôn ngữ - giao diện đổi và lưu ngay, lần đăng nhập sau vẫn giữ đúng lựa chọn đó. Người dùng thêm một email mới; định danh đó bắt đầu ở trạng thái chưa xác minh, cần một mã OTP mới xác minh được. Về sau, người được gán quyền quản lý tài khoản khóa tài khoản này vì lý do vận hành - người dùng không đăng nhập được nữa cho tới khi được mở khóa, nhưng toàn bộ dữ liệu tài khoản vẫn còn nguyên, không mất gì.
Chỗ dễ sai nhất
Lưu trữ là trạng thái kết thúc, không có đường quay lại
Vòng đời trạng thái của một tài khoản đi qua kích hoạt, vô hiệu hóa, chặn, và cuối cùng là lưu trữ. Ba trạng thái đầu chuyển qua lại được với nhau, nhưng lưu trữ thì không - một khi đã lưu trữ, tài khoản không có đường quay lại bất kỳ trạng thái nào khác.
Người được gán quyền quản lý tài khoản cần phân biệt rõ: muốn tạm khóa thì chọn vô hiệu hóa hoặc chặn, chỉ chọn lưu trữ khi thật sự muốn kết thúc tài khoản đó.