1. Logic
Sport FE (Bongdalu, Bongdako,..)
  • Bongdalu
    • Tổng quan về Bongdalu
    • Architecture
      • System
      • Database
      • Source Code
    • Development
      • Production
  • Bongdako
    • Tổng quan về Bongdako
    • Architecture
      • System
      • Database
      • Source Code
    • Development
      • Local
      • DEV
      • Production
  • ADMIN-BANNER
    • Tổng quan
    • Logic
      • Logic tổng thể
    • Projects
      • Architecture
        • System
        • Source Code
      • Development
        • Develop
        • Production
      • Public API
        • API
      • Database
        • Cấu trúc Database
      • Admin FE
        • Hướng dẫn Đăng nhập
        • QUẢN LÝ SITE (SITE MANAGEMENT)
        • QUẢN LÝ GIẢI ĐẤU (LEAGUE MANAGEMENT)
        • QUẢN LÝ NHÀ CUNG CẤP (SUPPLIER MANAGEMENT)
        • TIP & CHUYÊN GIA - TAB QUẢN LÝ TIPS (TIPS MANAGEMENT)
        • WHITELIST
        • QUẢN LÝ MINIGAME (MINIGAME MANAGEMENT)
        • TRAFFIC REPORT
        • TOOLS - RAPID DATA
        • TOOLS - LIVE SITES
        • TOOLS - SUPPLIERS
        • THEME / PLUGIN
        • NGƯỜI DÙNG - PHÂN QUYỀN VÀ HIỂN THỊ (PERMISSION & DISPLAY MANAGEMENT)
        • QUẢN LÝ NGƯỜI DÙNG (USER MANAGEMENT)
        • NGƯỜI DÙNG - QUẢN LÝ NHÓM QUYỀN (ROLE GROUP MANAGEMENT)
  1. Logic

Logic tổng thể

1. Mục tiêu nghiệp vụ#

Hệ thống Admin Banner được xây dựng để hỗ trợ người dùng nội bộ quản trị tập trung các cấu hình liên quan đến:
domain / project
banner / zone / template / image
nội dung SEO
whitelist domain
license key
user / role / permission
traffic / tracking
theme / plugin / site script
Mục tiêu chính của hệ thống là:
chuẩn hóa dữ liệu cấu hình cho từng domain
cho phép quản trị và publish banner nhanh chóng
hỗ trợ phân quyền người dùng theo vai trò
hỗ trợ vận hành nhiều domain/project trên một giao diện admin thống nhất
ghi nhận log, tracking và gửi notification cho các luồng quan trọng

2. Tác nhân chính#

2.1. Admin/User nội bộ#

Là người thao tác trực tiếp trên giao diện admin để:
đăng nhập hệ thống
quản lý project/domain
cấu hình banner
upload ảnh/banner asset
cấu hình SEO content
quản lý whitelist, license, user, role
theo dõi trạng thái publish và kết quả vận hành

2.2. Frontend Admin#

Là lớp giao diện người dùng, có nhiệm vụ:
hiển thị dữ liệu từ backend
gửi request CRUD
validate cơ bản ở phía client
điều hướng theo route/module
quản lý session và trạng thái UI

2.3. Backend API#

Là lớp xử lý trung tâm, có nhiệm vụ:
xác thực và phân quyền
nhận request từ frontend
validate dữ liệu nghiệp vụ
xử lý business logic
đọc/ghi database
trigger queue job / event / listener
tích hợp storage ngoài, email, telegram, API ngoài

2.4. Hệ thống ngoài#

Bao gồm các thành phần hỗ trợ vận hành:
SQL database
local storage / S3
queue worker
telegram / email
DB API / traffic API / sport API / live sites service

3. Luồng tổng thể của hệ thống#

3.1. Luồng đăng nhập và truy cập hệ thống#

Diễn giải#

Người dùng truy cập giao diện admin và thực hiện đăng nhập.
Frontend gửi request đăng nhập lên backend.
Backend kiểm tra:
tài khoản tồn tại hay không
mật khẩu đúng hay không
trạng thái user có được phép truy cập hay không
Nếu hợp lệ, backend trả về thông tin user, token và quyền truy cập.
Frontend lưu trạng thái đăng nhập và dựng menu/module theo quyền tương ứng.

3.2. Luồng quản lý domain / project#

Diễn giải#

Người dùng vào màn hình danh sách project/domain để xem toàn bộ domain đang được quản lý.
Backend trả về danh sách domain cùng các thông tin như:
tên domain
URL
storage URL
banner URL
trạng thái active
cấu hình ads/index/plugin site
Khi tạo mới hoặc cập nhật, backend sẽ kiểm tra dữ liệu trước khi lưu.
Domain là đối tượng trung tâm, được dùng tiếp cho:
banner
SEO content
whitelist
tracking
plugin/theme
license

3.3. Luồng quản lý banner#

Diễn giải#

Module banner cho phép cấu hình banner theo domain hoặc template.
Người dùng có thể:
chọn template
upload ảnh
gắn company
cấu hình redirect URL
cấu hình vị trí hiển thị / zone / layout
Backend tiếp nhận và lưu dữ liệu vào các bảng liên quan như:
banner_templates
banner_images
domain_banners
zones
Đây là luồng nghiệp vụ quan trọng nhất của hệ thống.

3.4. Luồng publish banner#

Diễn giải#

Khi người dùng thực hiện publish banner, backend kiểm tra:
domain có hợp lệ không
banner có đủ dữ liệu không
storage/banner path có đúng không
trạng thái domain có cho phép publish không
Sau khi hợp lệ:
ghi nhận log publish
thực hiện xử lý publish
có thể đẩy qua job bất đồng bộ đối với tác vụ nặng
Kết quả publish được lưu lại để phục vụ:
tra cứu lịch sử
debug lỗi
gửi cảnh báo/notification

3.5. Luồng upload file / banner asset#

Diễn giải#

Hệ thống hỗ trợ upload file phục vụ banner hoặc nội dung liên quan.
File sau khi upload có thể được:
lưu local
hoặc đẩy lên S3
Sau khi upload thành công, backend lưu metadata để frontend có thể dùng lại trong cấu hình banner/template.

3.6. Luồng cấu hình SEO content#

Diễn giải#

Người dùng chọn domain và page template để cấu hình nội dung SEO.
Hệ thống hỗ trợ dữ liệu đa ngôn ngữ, bao gồm:
title
meta description
canonical URL
h1
content
description
Backend lưu dữ liệu theo cấu trúc:
nội dung cha
danh sách bản ghi ngôn ngữ đi kèm

3.7. Luồng whitelist domain#

Diễn giải#

Module whitelist phục vụ quản lý các domain cần kiểm tra hoặc cấp quyền đặc biệt.
Sau khi tạo yêu cầu whitelist, hệ thống có thể:
kiểm tra domain bất đồng bộ
cập nhật trạng thái xử lý
gửi thông báo cho người phụ trách

3.8. Luồng license key#

Diễn giải#

Hệ thống hỗ trợ quản lý license key và domain liên kết.
Khi có hành động duyệt hoặc từ chối:
backend phát sinh event
listener tương ứng gửi email hoặc telegram
Cơ chế này giúp tách nghiệp vụ chính khỏi luồng notification.

3.9. Luồng phân quyền người dùng#

Diễn giải#

Hệ thống phân quyền theo:
user
role
role group
Việc kiểm tra quyền diễn ra ở cả:
frontend: ẩn/hiện menu, route
backend: chặn thao tác trái quyền

4. Quan hệ logic giữa các module#

4.1. Domain là trung tâm cấu hình#

Phần lớn nghiệp vụ của hệ thống xoay quanh domain/project. Một domain có thể liên kết với:
banner
page template
SEO content
whitelist
license
traffic
theme/plugin
notification
cấu hình storage/publish
Do đó, khi thay đổi domain, có thể ảnh hưởng đến nhiều module khác.

4.2. Banner là nghiệp vụ vận hành chính#

Banner được cấu hình dựa trên:
template
image
company
domain
zone/layout
redirect URL
trạng thái publish
Luồng banner thường kéo theo các nghiệp vụ hỗ trợ:
upload asset
ghi log
publish
notification
tracking click

4.3. User/Role là lớp kiểm soát hệ thống#

Toàn bộ màn hình và API đều phụ thuộc vào quyền truy cập của user. Logic này đảm bảo:
người dùng chỉ thấy module được cấp quyền
chỉ user đúng vai trò mới được tạo/sửa/xóa/publish
tránh thao tác sai giữa các team vận hành

4.4. Queue/Event giúp tách xử lý nặng khỏi request trực tiếp#

Các tác vụ như:
publish banner
xử lý upload hàng loạt
kiểm tra whitelist
gửi email/telegram
được tách khỏi request trực tiếp để:
giảm thời gian phản hồi
tránh timeout
dễ mở rộng về sau

5. Logic xử lý chuẩn của một thao tác CRUD#

Hầu hết các module trong hệ thống tuân theo logic chung sau:

Diễn giải#

Controller: điểm vào của API
Request: validate dữ liệu đầu vào
Service: xử lý logic nghiệp vụ
Repository/Model: thao tác dữ liệu
Response/Resource: chuẩn hóa dữ liệu trả ra frontend
Đây là logic nền tảng của backend và giúp hệ thống dễ bảo trì hơn.

6. Luồng tổng hợp end-to-end điển hình#

Một kịch bản nghiệp vụ phổ biến của hệ thống:
1.
Admin đăng nhập hệ thống
2.
Vào module Project/Domain để tạo hoặc chọn domain cần cấu hình
3.
Cấu hình banner/template/image cho domain
4.
Upload asset nếu cần
5.
Cấu hình SEO content cho domain
6.
Kiểm tra các điều kiện liên quan như whitelist, license, setting
7.
Thực hiện publish banner
8.
Hệ thống ghi log, xử lý job, gửi notification
9.
Admin theo dõi kết quả publish, traffic hoặc tracking liên quan
Đây là chuỗi logic phản ánh đúng vai trò vận hành trung tâm của Admin Banner.

7. Kết luận#

Logic tổng thể của hệ thống được tổ chức theo mô hình:
frontend quản lý giao diện và tương tác người dùng
backend xử lý nghiệp vụ trung tâm
database lưu dữ liệu cấu hình
queue/event hỗ trợ xử lý bất đồng bộ
notification/storage/external API hỗ trợ vận hành
Kiến trúc logic này phù hợp với hệ thống admin nhiều module, có nhiều domain/project và yêu cầu vận hành linh hoạt theo từng môi trường.
Modified at 2026-03-30 07:53:34
Previous
Tổng quan
Next
System
Built with