feat: add i18n support for Vietnamese and English
This commit is contained in:
56
SYSTEM_ASSESSMENT_PROPOSALS.md
Normal file
56
SYSTEM_ASSESSMENT_PROPOSALS.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# AfterSales CRM - System Assessment & Proposals (Draft)
|
||||
|
||||
> **Ngày ghi nhận:** Monday, May 4, 2026
|
||||
> **Người thực hiện:** Gemini CLI Agent
|
||||
> **Mục đích:** Ghi lại các nhận định về hệ thống, rủi ro bảo mật và đề xuất nâng cấp để thảo luận sau.
|
||||
|
||||
---
|
||||
|
||||
## 1. Nhận định Hệ thống (Current Understanding)
|
||||
- **Kiến trúc:** Laravel 13.6 + Filament 5.6, PHP 8.3. Sử dụng Spatie Permissions cho RBAC.
|
||||
- **Dữ liệu:** Đã import ~3600 records từ Excel thành công. Sử dụng SQLite làm database.
|
||||
- **Workflow:** Quy trình Feedback -> Transfer -> Resolve -> Close đã được thiết lập chặt chẽ với các Service chuyên biệt (`ClosingService`, `TransferService`).
|
||||
- **Tài liệu:** Đã có `AGENTS.md`, `PROGRESS.md`, `TASKS_ROADMAP.md` và `CODEBASE_SNAPSHOT.md` giúp nắm bắt nhanh trạng thái dự án.
|
||||
|
||||
## 2. Rủi ro Bảo mật & An toàn (Security & Safety Risks)
|
||||
|
||||
### 2.1. Phạm vi truy cập dữ liệu (Data Visibility)
|
||||
- **Vấn đề:** `FeedbackPolicy` hiện tại cho phép mọi User có quyền `view-feedback` xem được toàn bộ các phản hồi của tất cả phòng ban.
|
||||
- **Rủi ro:** Lộ thông tin nhạy cảm giữa các phòng ban.
|
||||
- **Đề xuất:** Áp dụng Global Scope hoặc Scoping trong Resource để nhân viên chỉ thấy phiếu thuộc phòng ban mình hoặc được giao cho mình.
|
||||
|
||||
### 2.2. Bảo mật Backup
|
||||
- **Vấn đề:** Command `app:export-backup` lưu file JSON (bao gồm hash mật khẩu và thông tin khách hàng) trực tiếp trong `storage/app/backups`.
|
||||
- **Rủi ro:** Dễ bị đánh cắp nếu folder này bị lộ hoặc server bị chiếm quyền user.
|
||||
- **Đề xuất:** Mã hóa file backup hoặc đẩy thẳng lên S3 với chính sách bảo mật nghiêm ngặt.
|
||||
|
||||
### 2.3. Signed URL trên Local Disk
|
||||
- **Vấn đề:** `FileService` dùng `temporaryUrl` trên driver `local`.
|
||||
- **Rủi ro:** Laravel mặc định không hỗ trợ URL tạm thời cho local driver trừ khi được cấu hình thêm. Có thể gây lỗi không xem được ảnh/file trong thực tế.
|
||||
|
||||
### 2.4. Tính nhất quán của Logic Đóng phiếu
|
||||
- **Vấn đề:** Logic kiểm tra `proof_of_resolution` đang nằm rải rác ở Service và một số chỗ trong Filament UI.
|
||||
- **Rủi ro:** Khó bảo trì và dễ xảy ra sai sót khi cập nhật quy trình.
|
||||
|
||||
## 3. Đề xuất Nâng cấp (Proposed Upgrades)
|
||||
|
||||
### 3.1. Audit Trail (Lịch sử chi tiết)
|
||||
- **Mô tả:** Ghi lại chi tiết ai đã sửa cái gì, từ giá trị cũ sang giá trị mới cho tất cả các Model quan trọng (Contract, Feedback, Customer).
|
||||
- **Công cụ gợi ý:** `spatie/laravel-activitylog`.
|
||||
|
||||
### 3.2. Mã hóa dữ liệu (PII Encryption)
|
||||
- **Mô tả:** Mã hóa các trường thông tin cá nhân (Số điện thoại, Email) trong Database để đảm bảo an toàn nếu database bị leak.
|
||||
|
||||
### 3.3. Theo dõi SLA (SLA Tracking)
|
||||
- **Mô tả:** Thiết lập thời hạn xử lý cho từng loại phản hồi. Cảnh báo (Email/Notification) khi sắp đến hạn hoặc quá hạn.
|
||||
|
||||
### 3.4. Gợi ý chuyển phòng thông minh (Smart Suggestion)
|
||||
- **Mô tả:** Tự động phân tích loại Hợp đồng hoặc Tag để gợi ý "Nên chuyển cho phòng Pháp lý/Kế toán".
|
||||
|
||||
### 3.5. Cải tiến Bulk Actions
|
||||
- **Mô tả:** Cho phép xử lý hàng loạt (Chuyển phòng, Phân công nhân viên) để tối ưu năng suất cho Manager.
|
||||
|
||||
## 4. Các câu hỏi thảo luận sau
|
||||
1. Quy tắc phân quyền xem chéo giữa các phòng ban cụ thể là gì?
|
||||
2. Hệ thống sẽ chạy Production trên SQLite hay chuyển sang MySQL/PostgreSQL?
|
||||
3. Có cần tích hợp Chat trực tuyến (Zalo/Messenger) vào hệ thống không?
|
||||
Reference in New Issue
Block a user