Định nghĩa yêu cầu
Bối cảnh và mục đích dự án
- Bối cảnh: Trong kinh doanh cửa hàng, thứ hạng tìm kiếm trên Google Maps (MEO: Map Engine Optimization) có ảnh hưởng lớn đến việc thu hút khách hàng, nhưng đối với chủ sở hữu quản lý nhiều cửa hàng, việc quản lý và phân tích Google Business Profile (GBP) bằng thủ công là rất khó khăn
- Mục đích: Cung cấp dịch vụ Web quản lý tập trung đánh giá GBP, quản lý bài đăng, theo dõi thứ hạng tìm kiếm, tương tác khách hàng qua SMS và khảo sát
- Hiệu quả mong đợi: Tối ưu hóa chiến lược MEO, phản hồi đánh giá nhanh chóng, cải thiện chiến lược thông qua trực quan hóa thứ hạng tìm kiếm
Phạm vi hệ thống
Phạm vi đối tượng
- Ứng dụng GMAC: Ứng dụng Web của dịch vụ MEO (màn hình quản trị, màn hình người dùng)
- Chương trình scraping: Chương trình batch tự động lấy thứ hạng MEO từ kết quả tìm kiếm Google
Ngoài phạm vi
- Quản lý trang web chính smart MEO (https://smart-meo.com/)
- Phát triển Google Business Profile API (sử dụng API do Google cung cấp)
Người dùng đối tượng
- Người dùng chính (MAIN_USER): Chủ cửa hàng. Quản lý GBP, trả lời đánh giá, tạo bài đăng, xem phân tích
- Người dùng nhóm (GROUP_USER): Nhân viên cửa hàng. Thao tác quản lý trong phạm vi được ủy quyền từ người dùng chính
- Người dùng master (MASTER_USER): Quản lý tổng hợp nhiều cửa hàng
- Quản trị viên (Admin): Quản trị hệ thống. Quản lý người dùng, báo cáo, nhập/xuất dữ liệu
Luồng nghiệp vụ
Luồng lấy thứ hạng MEO
Luồng quản lý đánh giá
Yêu cầu chức năng
Định nghĩa các chức năng cụ thể yêu cầu cho hệ thống. Chi tiết xem tại Danh sách chức năng.
| Danh mục chức năng | Tổng quan |
|---|---|
| Dashboard | Hiển thị tổng quan trạng thái cập nhật GBP, thống kê đánh giá, so sánh thứ hạng tìm kiếm |
| Quản lý đánh giá | Xem, trả lời đánh giá, quản lý mẫu, cài đặt trả lời tự động |
| Quản lý bài đăng | Tạo bài đăng GBP, lên lịch, đăng theo nhóm |
| Từ khóa & thứ hạng | Quản lý từ khóa tìm kiếm, trực quan hóa xu hướng thứ hạng |
| SMS | Gửi SMS, quản lý mẫu, log gửi |
| Khảo sát | Tạo, phân phối, tổng hợp câu trả lời khảo sát |
| Quản lý nhóm | Tạo nhóm người dùng, gán location |
| Chức năng quản trị | Quản lý người dùng, báo cáo, nhập/xuất dữ liệu |
| Scraping | Tự động lấy thứ hạng MEO từ kết quả tìm kiếm Google |
Yêu cầu phi chức năng
Hiệu suất & khả năng mở rộng
| Mục | Yêu cầu |
|---|---|
| Số kết nối đồng thời | Khoảng vài trăm người dùng |
| Tốc độ phản hồi | API trong vòng 3 giây |
| Khối lượng dữ liệu | Vài nghìn người dùng, hàng chục nghìn từ khóa, hàng trăm nghìn đánh giá |
| Năng lực xử lý scraping | Khoảng 14,000 từ khóa/lần (28 batch x 500 từ khóa) |
Bảo mật
| Mục | Yêu cầu |
|---|---|
| Phương thức xác thực | Xác thực session (Web) + xác thực token OAuth2 (API, Laravel Passport) |
| Kiểm soát truy cập | Dựa trên vai trò (Spatie Laravel Permission) |
| Mã hóa truyền thông | Bắt buộc HTTPS |
| Liên kết OAuth | Google OAuth, Instagram OAuth |
Tính khả dụng & bảo trì
| Mục | Yêu cầu |
|---|---|
| Cơ sở dữ liệu | Cấu hình MySQL Read/Write Replica |
| Cache | Redis |
| Log | Thông báo lỗi qua Slack, Spatie Activity Log |
| Sao lưu | Sao lưu DB định kỳ |
Tính thao tác & khả dụng
| Mục | Yêu cầu |
|---|---|
| Ngôn ngữ hỗ trợ | Tiếng Nhật |
| Responsive | SPA cho PC |
| Biểu đồ | Hiển thị biểu đồ bằng Chart.js |
Yêu cầu môi trường vận hành
Môi trường client
| Mục | Yêu cầu |
|---|---|
| Trình duyệt | Chrome / Edge |
Môi trường server
| Mục | Yêu cầu |
|---|---|
| GMAC Backend | PHP 7.1.3+ / Laravel 5.7 |
| GMAC Frontend | Vue.js 2.6 SPA |
| Scraping | Python 3.10 / Django 5.0 / Playwright |
| Cơ sở dữ liệu | MySQL 8+ |
| Cache/Session | Redis |
| Lưu trữ file | AWS S3 |
| Container | Docker (Laradock) |