1.
Đăng nhập/Đăng ký: Người dùng gửi yêu cầu xác thực (Credentials). Nếu hợp lệ, hệ thống khởi tạo phiên và trả về một Access Token.
2.
Giao tiếp API: Trong tất cả các lần gọi API tiếp theo (tạo chiến dịch, quét URL...), hệ thống Client/Frontend phải luôn đính kèm header Authorization: Bearer <token> để định danh người dùng.
3.
Quản lý Hồ sơ: Cung cấp các luồng API an toàn để người dùng tự cập nhật thông tin cá nhân hoặc thay đổi mật khẩu định kỳ.
1.
Ghi nhận Metric (Statistic): Mỗi khi người dùng thao tác hoặc truy cập trang, hệ thống trigger API để ghi lại số liệu sử dụng (Lượt view, API Limit...). Dữ liệu được lưu trữ tối ưu ở bảng statistics.
2.
Lưu vết Hoạt động (Log Activities): Mọi hành động nhạy cảm (User Action) đều được ghi nhận (Payload Text) và đồng bộ hóa qua Real-time Indexing với Elasticsearch để tối ưu hóa tốc độ tìm kiếm Full-text trên tập dữ liệu khổng lồ.
3.
Hiển thị (View/Export): Backend cung cấp API truy xuất data từ Elasticsearch để Frontend vẽ biểu đồ Analytic và hiển thị History Logs Table Grid.
1.
Tiếp nhận (Store): Người dùng nạp hàng ngàn từ khóa và tên miền mục tiêu. Hệ thống lưu vào bảng search_engines với trạng thái Pending.
2.
Thu thập (Crawl): Daemon Cronjob (/cron-search-engine) đánh thức hệ thống cào dữ liệu. Dựa vào cấu hình XPath trong search_engine_settings, các Serverless Node tiến hành bóc tách kết quả trang SERP.
3.
Trả kết quả (Update & Fetch): Webhook nhận dữ liệu thứ hạng bắn về và lưu vào bảng search_engine_histories. Giao diện Frontend gọi Polling để vẽ Data Grid.
1.
Khởi tạo: Hệ thống nhận yêu cầu chứa danh sách URL đích và tạo một phiên làm việc trong bảng url_extracts.
2.
Trích xuất: Tiến trình ngầm truy cập URL, render DOM và dùng thuật toán Regex/DOM Parser bóc tách tất cả các thẻ <a>.
3.
Lưu trữ lịch sử: Các URL thu thập được tự động phân loại và lưu chi tiết vào bảng phụ url_extract_histories.
4.
Báo cáo: Dữ liệu được trả về dưới dạng JSON cho bảng lưới Frontend hoặc nén thành định dạng file (.xlsx/.csv).