Appearance
Homepage - Business Rules
Tổng quan
Homepage là trang chủ sau đăng nhập của Diva Group. Trong source hiện tại, màn hình này không có nghiệp vụ thao tác dữ liệu; nó chủ yếu làm nhiệm vụ:
- làm landing mặc định của ứng dụng,
- hiển thị banner nhận diện thương hiệu,
- dẫn người dùng sang các module vận hành khác.
Theo cấu trúc router, cả router chính và router POS đều redirect root / về /h/homepage (diva-admin/src/router/routes.ts:32-39, diva-admin/src/router/pos/routes.ts:29-36).
Phạm vi nghiệp vụ
| Hạng mục | Trạng thái |
|---|---|
| Trang chủ sau đăng nhập | Có |
| Dashboard số liệu | Chưa có |
| Widget / shortcut nghiệp vụ | Chưa có |
| Nội dung động theo role | Chưa có |
| Tương tác backend trực tiếp | Không có |
Luồng sử dụng chính
Luồng 1: Vào hệ thống
- User đăng nhập thành công.
- Auth flow đưa user về
/h/homepage(diva-admin/src/modules/auth/compositions/configureUseAuth.ts:214-226). - Router resolve về module
homepage. MainLayouthiển thị shell chung và pageHomepage.- Trang chỉ render banner
/img/homepage-banner@2x.png(diva-admin/src/modules/homepage/pages/Homepage.tsx:6-9).
Luồng 2: Điều hướng sang module khác
- User click sidebar hoặc breadcrumbs.
- User chọn một module nghiệp vụ khác như
crm,ecommerce,dashboard,report. - Router điều hướng sang module tương ứng theo permission hiện có.
Vai trò người dùng và quyền
| Nhóm | Cách xử lý trong code |
|---|---|
| User đã đăng nhập | Được vào homepage mặc định |
| User chưa đăng nhập | Bị redirect về login nếu không ở nhóm auth routes |
| Permission theo role | Không dùng để chặn homepage; route được allow mặc định trong guard |
Điểm đáng chú ý là homepage không dùng danh sách permissions theo kiểu module khác. Guard cho phép module này bằng nhánh đặc biệt routeConfig.moduleId === "homepage" (diva-admin/src/router/guard.ts:67-79).
Tích hợp liên quan
| Thành phần | Vai trò |
|---|---|
MainLayout | Khung layout chung của màn hình (diva-admin/src/modules/homepage/Layout.tsx:1-4) |
MainHeader | Logo/header click về /h/homepage (diva-admin/src/components/layout/main/MainHeader.tsx:96-118) |
LeftSidebar | Hiển thị menu "Trang chủ" vì moduleId = "homepage" được cho phép (diva-admin/src/components/layout/main/LeftSidebar.tsx:128-137) |
auth | Redirect sau login về homepage |
router | Root redirect / -> /h/homepage ở cả shell chính và POS |
Rủi ro / Findings
Homepage hiện là một landing page tối giản, phù hợp làm điểm vào hệ thống nhưng chưa có thành phần dẫn dắt theo role, KPI, hoặc workflow tiếp theo. Vì vậy module này chưa tạo giá trị nghiệp vụ riêng ngoài branding và entry navigation.