🗄️ DATABASE SCHEMA: ADMIN FRONTEND (DATA MODELS)#
Tài liệu này đặc tả chi tiết các Data Model (Interface Schemas) được sử dụng trong dự án Admin Frontend. Trong hệ sinh thái Vue 3 + TypeScript, các Interface này (nằm tại thư mục src/types/modules/) được ánh xạ (mapping) 1-1 với cấu trúc Database của Backend, giúp đồng bộ hóa dữ liệu và đảm bảo an toàn kiểu dữ liệu (Type-safe) trên toàn hệ thống.
1. Bảng Users (Quản lý Người dùng)#
Model quản lý thông tin tài khoản và phân quyền người dùng trên hệ thống Admin.| Cột (Trường) | Kiểu dữ liệu | Mô tả chi tiết |
|---|
id / user_id | number | Khóa chính duy nhất định danh người dùng. |
username | string | Tên đăng nhập của tài khoản trên hệ thống. |
name | string | Tên đầy đủ hiển thị trên giao diện (UI). |
email | string | Địa chỉ email dùng để liên lạc hoặc đăng nhập. |
role | Role[] | Cấp độ quyền tổng quan (view, edit, admin, superadmin, check, record, capture, upload). |
permissions | string[] | Quyền hạn tính năng chi tiết (Capture, CheckDomain, Upload,...). |
is_active | Enum (Y | N) | Trạng thái tài khoản (Y: Đang hoạt động, N: Bị khóa/Vô hiệu hóa). |
limit | string | Quota/Hạn mức sử dụng chức năng trên hệ thống (nếu có). |
2. Bảng Domains (Danh sách Tên miền)#
Model trung tâm phản ánh danh sách các tên miền cần được đưa vào hệ thống để theo dõi, chụp ảnh và check status.| Cột (Trường) | Kiểu dữ liệu | Mô tả chi tiết |
|---|
id | number | Khóa chính nhận dạng Domain. |
name | string | Tên miền gốc (VD: example.com). |
link | string | Đường dẫn đầy đủ trỏ tới domain (VD: https://example.com). |
status | string | Trạng thái hoạt động chung (Live, Die, Pending...). |
is_active | Enum (Y | N) | Cờ cho phép hệ thống tự động theo dõi domain. |
is_block | Enum (Y | N) | Đánh dấu domain đã bị chặn/vào blacklist của nhà mạng. |
is_whitelist | Enum (Y | N | U) | Cờ Whitelist để hệ thống bỏ qua các cảnh báo gắt gao. |
last_check | Object | Payload chứa chi tiết lịch sử quét gần nhất (gồm: checked_at, image_cloud_path, video_cloud_path, proxy đã dùng...). |
3. Bảng Keywords (Quản lý Từ khóa SEO)#
Model lưu trữ danh mục từ khóa phục vụ cho các module đo lường thứ hạng SEO & Search Volume.| Cột (Trường) | Kiểu dữ liệu | Mô tả chi tiết |
|---|
id | number | Khóa chính của Keyword. |
name | string | Chuỗi từ khóa mục tiêu (VD: thể thao, tin tức). |
is_run_daily | Enum (Y | N) | Bật/tắt tiến trình auto scan Google/Bing hằng ngày cho từ khóa này. |
branch_id | number | ID Nhánh (Branch) mà keyword thuộc về (phục vụ phân cụm). |
group_id | number | ID Nhóm (Group) phân loại keyword. |
search_keyword_volume | Object | Object chứa thông số volume (Lượng tìm kiếm/tháng trên các công cụ). |
4. Bảng HistoryDomain / CheckDomain (Lịch sử Scan)#
Model dùng để ghi log kết quả của quá trình bot chạy tự động hoặc do người dùng thao tác kiểm tra thủ công.| Cột (Trường) | Kiểu dữ liệu | Mô tả chi tiết |
|---|
id | number | Khóa chính của bản ghi log lịch sử. |
status | Status Enum | Trạng thái tiến trình check: NEW (vừa tạo), DONE (đã xong), FAILED (lỗi). |
type | Enum | Hình thức chạy: auto (tự động) hoặc manual (trigger bằng tay). |
checked_at | Date | Mốc thời gian (Timestamp) kết thúc quá trình check. |
image_path | string | Đường dẫn ảnh chụp màn hình lưu cục bộ trên Server Bot. |
image_cloud_path | string | URL Snapshot website được lưu vĩnh viễn trên môi trường AWS/Cloud. |
result | Object | Object chi tiết trả về từ Worker Node (Chứa executionDuration và log errors). |
proxies | Array | Danh sách thông tin proxy (proxyId, statusCode, error) được dùng làm pipeline truy cập. |
domain_redirect | string | URL đích cuối cùng nếu domain gốc dính mã chuyển hướng (HTTP 301, 302). |
5. Bảng RankingKeyword & RankingHistory (Lịch sử Xếp hạng)#
Model lưu trữ lịch sử thứ hạng (Ranking) của các domain trên trang kết quả tìm kiếm ứng với mỗi từ khoá.| Cột (Trường) | Kiểu dữ liệu | Mô tả chi tiết |
|---|
id | number | ID khóa chính của bản ghi xếp hạng. |
rank | number | Vị trí xuất hiện của URL trên công cụ tìm kiếm (Top 1 - 10). |
run_at | string | Timestamp ghi nhớ chính xác thời điểm check ranking. |
is_growth_hack | boolean | Cờ đánh dấu domain có đang nằm trong chiến dịch Growth Hack hay không (Dùng để tô màu UI). |
is_check | boolean | Cờ xác nhận tiến trình kiểm tra rank đã hoàn tất. |
6. Bảng Proxies và Providers (Hệ thống Mạng lưới IP)#
Model quản lý danh sách IP/Proxy phục vụ cho hệ thống Bot Crawlers.| Cột (Trường) | Kiểu dữ liệu | Mô tả chi tiết |
|---|
id | number | Khóa chính của Proxy. |
proxy_name | string | Tên gợi nhớ của Node Proxy (VD: US-Node-01, VNPT-Proxy-02). |
host | string | Địa chỉ IP của Node Proxy. |
port | string | Cổng (Port) truy cập. |
is_active | Enum (Y | N) | Trạng thái proxy này còn hoạt động / khả dụng để fetch data hay không. |
provider_id | number | Khóa ngoại liên kết tới Tổ chức/Nhà cung cấp Proxy (Providers Model). |
💡 Ghi chú thêm dành cho Developer: Ngoài các bảng chính trên, Frontend còn định nghĩa các Interface phụ trợ khác như Groups, Branches, Tags, Whitelists, SearchVolumes, Sessions. Các Model này hoạt động theo Logic BaseCRUD tương tự và có thể tra cứu trực tiếp mã nguồn tại đường dẫn src/types/modules/*.Modified at 2026-03-28 02:40:59