Đánh giá Navigation toàn bộ Role

Mục đích: thống kê từng nav item của 5 role theo 3 tiêu chí để tự quyết định thứ tự ưu tiên làm trước/sau.
Ngày: 2026-05-18 · Phạm vi: frontend/src/navigation/menus/*.tsx + route trong App.tsx

Chú giải

Trạng thái trang:

  • REAL — trang thật, đầy đủ chức năng
  • VIEW — trang thật nhưng chỉ xem (dashboard/report read-only)
  • STUB — có UI nhưng control bị disable / không gắn API
  • PLACEHOLDER — chỉ là FeaturePlaceholderPage (“Sắp ra mắt”)

Cần thiết (đề xuất, theo bối cảnh IoT thủy sản — core = giám sát thiết bị/nước/vụ nuôi):

  • 🔴 Cao — giá trị cốt lõi, người dùng cuối cần ngay
  • 🟡 TB — hữu ích nhưng không chặn vận hành
  • ⚪ Thấp — chưa cấp thiết ở giai đoạn này (vd: quản trị SaaS khi chưa có nhiều tenant)

Tên đúng? ✅ khớp · ⚠️ lệch nhẹ · ❌ sai/gây hiểu nhầm
Trùng? component/route dùng chung với nav khác


1. SUPER ADMIN (7 mục) — menu có nhiều vấn đề nhất

Nav (label) Path Trạng thái Cần thiết Tên đúng? Trùng lặp
Bảng điều khiển /dashboard REAL 🔴 Cao Dùng chung 4 role (role-dispatch — OK)
Tổ chức /admin/organizations REAL 🔴 Cao Không
Nhật ký hoạt động /system/audit-logs PLACEHOLDER ⚪ Thấp ✅ (vừa đổi) Cùng domain với admin “Nhật ký & Chỉnh sửa”
Thiết bị toàn hệ /devices/list REAL (DeviceList) 🟡 TB ⚠️ DeviceList là CRUD theo org, không thật sự “toàn hệ thống” Cùng component với admin “Phân bổ thiết bị”
Tài khoản quản trị /users REAL (UsersPage) 🔴 Cao ⚠️ “quản trị” nhưng UsersPage là user chung Cùng UsersPage với admin/owner
Phân bổ thiết bị /devices REAL (DeviceDashboard) ⚪ Thấp ❌ Tên = gán thiết bị, thực tế chỉ là dashboard xem, không có workflow phân bổ Trùng concept với “Thiết bị toàn hệ” ngay trong menu này
Gói dịch vụ & Thanh toán /financial REAL (FinancialDashboard) ⚪ Thấp ❌ Tên = billing SaaS, thực tế là tài chính trang trại (doanh thu/chi phí nuôi) Cùng FinancialDashboard với admin/owner

Vấn đề lớn: menu Super Admin phần lớn là trang cấp trang-trại bị gắn nhãn quản trị SaaS sai. Super Admin thiếu hẳn chức năng SaaS thật (billing gói dịch vụ, gán thiết bị cho tổ chức).


2. ADMIN (13 mục)

Nav (label) Path Trạng thái Cần thiết Tên đúng? Trùng lặp
Bảng điều khiển /dashboard REAL 🔴 Cao role-dispatch (OK)
Trang trại /farms VIEW (FarmDashboard) 🔴 Cao Chỉ admin dùng
Ao nuôi /farms/ponds REAL (PondList) 🔴 Cao Dùng chung admin/owner/staff (OK)
Chủ Farm & Nhân viên /users REAL (UsersPage) 🔴 Cao Cùng UsersPage 3 role
Vụ nuôi /cycles VIEW (CyclesDashboard) 🔴 Cao Dùng chung 3 role (OK)
Quản lý thiết bị /devices VIEW (DeviceDashboard) 🔴 Cao ⚠️ “Quản lý” nhưng /devices chỉ xem; quản lý thật ở /devices/list DeviceDashboard chung 4 role
Phân bổ thiết bị /devices/list REAL (DeviceList) 🟡 TB ❌ Không có workflow phân bổ; chỉ là DeviceList /devices/list trùng super-admin “Thiết bị toàn hệ”; path↔label đảo ngược so với super-admin
Cảnh báo /admin/alerts PLACEHOLDER 🔴 Cao Song song owner/alerts, staff/alerts
Nhật ký & Chỉnh sửa /admin/data-intervention PLACEHOLDER 🟡 TB ⚠️ hơi mơ hồ Phụ thuộc module audit
Báo cáo & Phân tích /reports VIEW (ReportsPage) 🟡 TB Cùng ReportsPage với owner
Chi phí & Lợi nhuận /financial REAL (FinancialDashboard) 🟡 TB Cùng với owner (OK)
Ticket hỗ trợ /support/tickets REAL (TicketListPage) 🟡 TB Chung 4 role (OK)
Cài đặt tổ chức /settings STUB 🟡 TB Không

3. OWNER (11 mục)

Nav (label) Path Trạng thái Cần thiết Tên đúng? Trùng lặp
Bảng điều khiển /dashboard REAL 🔴 Cao role-dispatch (OK)
Ao nuôi /farms/ponds REAL (PondList) 🔴 Cao chung (OK)
Nhân viên /users REAL (UsersPage) 🟡 TB cùng UsersPage
Phân công công việc /operations/tasks PLACEHOLDER 🟡 TB Liên quan staff “Việc hôm nay”
Vụ nuôi /cycles VIEW 🔴 Cao chung (OK)
Thiết bị /devices VIEW (DeviceDashboard) 🔴 Cao ✅ (“Thiết bị” trung thực) chung 4 role
Cảnh báo /owner/alerts PLACEHOLDER 🔴 Cao song song alerts role khác
Ticket hỗ trợ /support/tickets REAL 🟡 TB chung (OK)
Kho thức ăn /inventory VIEW (InventoryDashboard) 🟡 TB ⚠️ “thức ăn” nhưng Inventory là kho tổng (vật tư/NCC/lô) Cùng /inventory với technical “Vật tư / Kho” — 2 nghĩa khác nhau
Chi phí & lợi nhuận /financial REAL 🟡 TB chung (OK)
Báo cáo /reports VIEW 🟡 TB cùng ReportsPage admin

4. STAFF (7 mục)

Nav (label) Path Trạng thái Cần thiết Tên đúng? Trùng lặp
Việc hôm nay /operations/checklist PLACEHOLDER 🔴 Cao cụm operations
Ao của tôi /farms/ponds REAL (PondList) 🔴 Cao ⚠️ “của tôi” → cần filter theo ao được giao (phụ thuộc backend) chung PondList
Nhập nhật ký /cycles VIEW (CyclesDashboard) 🔴 Cao ❌ Tên = nhập log nhanh, thực tế ra dashboard tổng quan; form nhập ở /cycles/:id/logs chung CyclesDashboard (nhưng ý định khác hẳn admin/owner)
Ảnh hiện trường /support/incidents PLACEHOLDER 🟡 TB ⚠️ “ảnh” nhưng path là incidents (sự cố) cụm support
Ticket hỗ trợ /support/tickets REAL 🟡 TB chung (OK)
Lịch sử công việc /operations/history PLACEHOLDER 🟡 TB cụm operations
Hồ sơ /profile REAL (ProfilePage) 🟡 TB cùng ProfilePage technical

5. TECHNICAL (8 mục)

Nav (label) Path Trạng thái Cần thiết Tên đúng? Trùng lặp
Bảng điều khiển /dashboard REAL 🔴 Cao role-dispatch (OK)
Ticket của tôi /support/tickets REAL (TicketListPage) 🔴 Cao ⚠️ “của tôi” → cần filter theo KTV (phụ thuộc backend) chung TicketListPage 4 role
Thiết bị /devices VIEW (DeviceDashboard) 🔴 Cao chung 4 role
Lịch bảo trì /support/maintenance PLACEHOLDER 🔴 Cao cụm support
Bản đồ /support/map PLACEHOLDER 🟡 TB Không
Vật tư / Kho /inventory VIEW (InventoryDashboard) 🟡 TB ⚠️ Inventory hiện thiên về thức ăn (owner) Cùng /inventory với owner “Kho thức ăn”
Báo cáo dịch vụ /support/service-reports PLACEHOLDER 🟡 TB cụm support
Hồ sơ /profile REAL 🟡 TB cùng ProfilePage staff

TOP VẤN ĐỀ CẦN QUYẾT (xếp theo mức nghiêm trọng)

# Vấn đề Ảnh hưởng Hướng xử lý gợi ý
1 Super Admin “Gói dịch vụ & Thanh toán” → FinancialDashboard (tài chính trang trại, KHÔNG phải billing SaaS) Sai chức năng hoàn toàn Đổi tên hoặc bỏ tới khi có module billing SaaS thật
2 “Phân bổ thiết bị” (cả super-admin & admin) không có workflow phân bổ — chỉ trỏ vào trang device sẵn có Lừa kỳ vọng người dùng Bỏ menu, hoặc build trang gán thiết bị→tổ chức thật
3 Device menu: path↔label đảo ngược giữa admin và super-admin Bất nhất, khó bảo trì Thống nhất: 1 nhãn “xem” → /devices, 1 nhãn “quản lý” → /devices/list cho mọi role
4 Staff “Nhập nhật ký” → CyclesDashboard thay vì form nhập log Staff không nhập được log nhanh — chặn nghiệp vụ cốt lõi Trỏ tới trang nhập DailyLogs hoặc làm trang quick-log riêng
5 /inventory dùng chung owner “Kho thức ăn” & technical “Vật tư / Kho” — 2 domain khác nhau Lẫn dữ liệu thức ăn vs vật tư kỹ thuật Tách route/filter theo loại kho, hoặc thống nhất 1 tên
6 11 route PLACEHOLDER, tập trung ở: Cảnh báo (3 role), Operations (3), Support (4), Audit (1) Nhiều menu bấm vào trống Ưu tiên theo cột “Cần thiết” bên dưới

Lưu ý: các route dùng chung qua DashboardRoute/UsersPage/PondList/CyclesDashboard/FinancialDashboard/TicketListPage/ProfilePagerole-dispatch có chủ đích — KHÔNG phải lỗi, không cần sửa.


PLACEHOLDER theo mức cần thiết (gợi ý ưu tiên build)

Mức Placeholder Route Lý do
🔴 Cao Cảnh báo (admin/owner) /admin/alerts, /owner/alerts Cảnh báo là giá trị cốt lõi IoT
🔴 Cao Việc hôm nay (staff) /operations/checklist Luồng làm việc hằng ngày của staff
🔴 Cao Lịch bảo trì (technical) /support/maintenance Nghiệp vụ chính của KTV
🟡 TB Phân công công việc /operations/tasks Owner giao việc cho staff
🟡 TB Báo cáo dịch vụ / Sự cố / Lịch sử /support/service-reports, /support/incidents, /operations/history Hỗ trợ vận hành
🟡 TB Nhật ký & Chỉnh sửa /admin/data-intervention Phụ thuộc module audit
🟡 TB Bản đồ /support/map Tiện ích điều phối
⚪ Thấp Nhật ký hoạt động /system/audit-logs Compliance, chưa cấp thiết

Bảng tự đánh giá (điền cột “Ưu tiên của tôi”)

Dùng cột cuối để tự xếp: P0 (làm ngay) · P1 (sớm) · P2 (sau) · SKIP (bỏ/để sau)

Hạng mục Đề xuất của Claude Ưu tiên của tôi
Sửa Super Admin “Gói dịch vụ & Thanh toán” (vấn đề #1) Đổi tên / ẩn
Xử lý “Phân bổ thiết bị” (vấn đề #2) Bỏ hoặc build thật
Thống nhất Device menu admin↔super-admin (#3) Chuẩn hóa nhãn↔route
Sửa Staff “Nhập nhật ký” (#4) Trỏ đúng trang nhập log
Tách Inventory owner vs technical (#5) Tách route/filter
Build Cảnh báo (admin/owner) 🔴 P0
Build Việc hôm nay (staff) 🔴 P0
Build Lịch bảo trì (technical) 🔴 P0
Build Phân công công việc 🟡 P1
Build cụm Support còn lại 🟡 P2
Build Nhật ký hoạt động (audit) ⚪ P2/SKIP
Gắn API cho Settings (STUB) 🟡 P2