Đặc tả Tính năng: Launchpad Dịch vụ
1. Tổng quan & Tầm nhìn
Launchpad là "Màn hình nền" của Hệ điều hành Doanh nghiệp Agentic. Nó cung cấp một giao diện tập trung, được cá nhân hóa để khám phá và khởi chạy tất cả các ứng dụng được ủy quyền trong hệ sinh thái VENI-AI, đảm bảo điều hướng liền mạch giữa các module liên minh.
2. Các Vai trò & Bên liên quan
| Vai trò | Mục tiêu |
|---|---|
| Người dùng cuối | Truy cập nhanh vào các công cụ làm việc mà không cần xác thực lại. |
| Quản trị viên Hệ thống | Đăng ký và quản lý tính sẵn sàng của các module satellite. |
3. Câu chuyện Người dùng (User Stories)
- Với tư cách là người dùng, tôi muốn chỉ thấy các ứng dụng mà tôi có quyền sử dụng để không gian làm việc của tôi luôn gọn gàng.
- Với tư cách là lập trình viên, tôi muốn đăng ký một ứng dụng từ xa mới để nó xuất hiện ngay lập tức trên bảng điều khiển của người dùng.
4. Yêu cầu Chức năng (FR)
- REQ-LP-001: Khám phá động các module satellite đã đăng ký.
- REQ-LP-002: Hiển thị ứng dụng dựa trên quyền hạn (RBAC).
- REQ-LP-003: Quản lý vòng đời Micro-frontend (Gắn kết/Gỡ bỏ).
- REQ-LP-004: Danh mục ứng dụng và tìm kiếm/lọc.
5. Yêu cầu Phi chức năng (NFR)
- Thời gian tải: Truy xuất siêu dữ liệu Launchpad < 200ms.
- Khả năng phục hồi: Shell phải duy trì hoạt động ngay cả khi một ứng dụng từ xa bị lỗi.
6. Logic & Quy tắc Nghiệp vụ
- Khám phá: Các ứng dụng được tải thông qua một điểm cuối danh mục công khai.
- Cô lập: Mỗi ứng dụng chạy trong một container giới hạn phạm vi để ngăn chặn xung đột CSS/JS.
- Duy trì trạng thái: Shell lưu giữ "ứng dụng được sử dụng lần cuối" cho phiên làm việc tiếp theo.
7. Giao diện Người dùng (UI/UX)
- Bảng điều khiển dạng lưới với các biểu tượng ứng dụng và siêu dữ liệu phong phú.
- Thanh bên trái để điều hướng toàn cầu.
- Skeleton tải ứng dụng và ranh giới lỗi (error boundaries) cho các lỗi từ xa.
8. Kiến trúc Thông tin
- Điểm vào chính sau khi đăng nhập.
- Nhóm phân cấp: Ứng dụng Cốt lõi (Drive, HRM) và Ứng dụng Mở rộng (Auto Report).
9. Mô hình Dữ liệu & Lưu trữ
- Bảng:
apps(Danh mục). - Bảng:
user_app_preferences(Cá nhân hóa).
10. Lớp API & Dịch vụ
GET /api/config/appsPOST /api/admin/apps
11. Các Mẫu Tích hợp
- Module Federation: Tải động các tệp entry từ xa.
- Phụ thuộc chung: React và các bộ UI chung được chia sẻ giữa Host và Remote.
12. Bảo mật & Quyền hạn
- Khả năng hiển thị: Được kiểm soát bởi phạm vi
apps:read. - Toàn vẹn: Các URL entry từ xa phải được phục vụ qua HTTPS với chứng chỉ hợp lệ.
13. Xử lý Lỗi & Khả năng Phục hồi
- Ranh giới lỗi bắt các lỗi "Module Not Found".
- UI dự phòng khi một ứng dụng từ xa không thể gắn kết.
14. Hiệu năng & Khả năng Mở rộng
- Tải song song siêu dữ liệu ứng dụng.
- Tải trước tài nguyên của ứng dụng tiếp theo (dự kiến).
15. Toàn cầu hóa & Bản địa hóa
- Hỗ trợ Tên hiển thị và Mô tả ứng dụng được bản địa hóa.
16. Khả năng Tiếp cận (a11y)
- Điều hướng bàn phím (Tab index) cho các thẻ ứng dụng.
- Thông báo trình đọc màn hình cho các thay đổi trạng thái ứng dụng.
17. Khả năng Quan sát & Phân tích
- Theo dõi các sự kiện "Khởi chạy Ứng dụng" để đo lường mức độ phổ biến của module.
- Giám sát tỷ lệ "Lỗi Ứng dụng" để cảnh báo DevOps.
18. Kiểm thử & Chất lượng
- Kiểm thử Cypress cho điều hướng chéo module.
- Kiểm thử hồi quy hình ảnh cho bố cục bảng điều khiển.
19. Các Ràng buộc & Giả định
- Giả định các ứng dụng từ xa tuân thủ hợp đồng
ShellEntrytiêu chuẩn.
20. Các Cải tiến Tương lai
- Các phím tắt và ứng dụng yêu thích do người dùng định nghĩa.
- Hệ thống widget cho bảng điều khiển (ví dụ: "Các tệp gần đây" từ Drive).