Skip to content

Đị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ăngTổng quan
DashboardHiể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 đăngTạo bài đăng GBP, lên lịch, đăng theo nhóm
Từ khóa & thứ hạngQuản lý từ khóa tìm kiếm, trực quan hóa xu hướng thứ hạng
SMSGửi SMS, quản lý mẫu, log gửi
Khảo sátTạo, phân phối, tổng hợp câu trả lời khảo sát
Quản lý nhómTạ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
ScrapingTự độ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ụcYêu cầu
Số kết nối đồng thờiKhoảng vài trăm người dùng
Tốc độ phản hồiAPI trong vòng 3 giây
Khối lượng dữ liệuVà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ý scrapingKhoảng 14,000 từ khóa/lần (28 batch x 500 từ khóa)

Bảo mật

MụcYêu cầu
Phương thức xác thựcXác thực session (Web) + xác thực token OAuth2 (API, Laravel Passport)
Kiểm soát truy cậpDựa trên vai trò (Spatie Laravel Permission)
Mã hóa truyền thôngBắt buộc HTTPS
Liên kết OAuthGoogle OAuth, Instagram OAuth

Tính khả dụng & bảo trì

MụcYêu cầu
Cơ sở dữ liệuCấu hình MySQL Read/Write Replica
CacheRedis
LogThông báo lỗi qua Slack, Spatie Activity Log
Sao lưuSao lưu DB định kỳ

Tính thao tác & khả dụng

MụcYêu cầu
Ngôn ngữ hỗ trợTiếng Nhật
ResponsiveSPA 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ụcYêu cầu
Trình duyệtChrome / Edge

Môi trường server

MụcYêu cầu
GMAC BackendPHP 7.1.3+ / Laravel 5.7
GMAC FrontendVue.js 2.6 SPA
ScrapingPython 3.10 / Django 5.0 / Playwright
Cơ sở dữ liệuMySQL 8+
Cache/SessionRedis
Lưu trữ fileAWS S3
ContainerDocker (Laradock)

Sơ đồ cấu trúc hệ thống