1. Architecture
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. Architecture

System

Kiến trúc hệ thống#

Luồng dữ liệu#


Thành phần chính#

Frontend Admin
Cung cấp giao diện quản trị cho người dùng nội bộ
Công nghệ chính: Vue 3, Vite, TypeScript, Pinia, Vue Router
Các module chính: banner, project, user, whitelist, traffic-report, tool, theme-plugin
Backend API
Cung cấp REST API cho frontend admin
Công nghệ chính: Laravel 11, PHP 8.2
Xử lý nghiệp vụ chính:
quản lý domain/project
quản lý banner/template/banner image
phân quyền người dùng
whitelist domain
license key
SEO content
zone/banner notification
Authentication / Authorization
Backend sử dụng cơ chế xác thực qua JWT và các cấu hình auth của Laravel
Phục vụ đăng nhập admin, kiểm soát phiên đăng nhập và phân quyền theo role/role group
Database
Sử dụng MySQL làm nơi lưu trữ dữ liệu chính
Chứa các nhóm dữ liệu:
user / role / role group
domain / domain page / domain sport
banner template / domain banner / banner image
SEO content / language
whitelist / license key
settings / zone / tracking
Queue / Background Jobs
Hệ thống có các tác vụ xử lý bất đồng bộ thông qua Laravel Queue
Một số job chính:
PublishDomainBannerJob
ProcessMassUpload
CheckWhitelistDomainJob
Phù hợp cho các tác vụ nặng hoặc không cần xử lý đồng bộ ngay trên request người dùng
Storage Service
Hỗ trợ upload file/banner qua local storage hoặc S3
Các service liên quan:
UploadService
UploadServiceNew
S3UploadService
Notification Service
Hệ thống hỗ trợ gửi thông báo qua:
Telegram
Email
Áp dụng cho các luồng như:
duyệt / từ chối license
whitelist notification
các cảnh báo nghiệp vụ khác
External Integrations
Backend có tích hợp với một số dịch vụ ngoài:
DB API
Traffic API
Sport API
live sites / supplier / remote services
Frontend cũng được cấu hình nhiều axios instance để gọi đúng từng nhóm API

Requirements#

Runtime#

Frontend
Node.js
npm hoặc bun
Vite
Backend
PHP >= 8.2
Laravel 11

Storage / Queue / Cache#

MySQL → dữ liệu chính
Queue backend → xử lý job bất đồng bộ
Local Storage / S3 → lưu banner, file upload
Có thể mở rộng thêm Redis nếu triển khai queue/cache theo môi trường thực tế

Tools bắt buộc#

Docker & Docker Compose
Composer
Node.js / npm
Vite
Laravel Artisan

Ghi chú kiến trúc#

Frontend và Backend được tách riêng thành 2 source độc lập:
thscore-client-admin
thscore-api-admin
Frontend đóng vai trò giao diện quản trị, không xử lý nghiệp vụ lõi
Backend là trung tâm xử lý nghiệp vụ, truy cập database, queue, storage và tích hợp ngoài
Kiến trúc hiện tại phù hợp với mô hình admin system, dễ mở rộng theo module nghiệp vụ mới
Modified at 2026-03-30 03:04:45
Previous
Logic tổng thể
Next
Source Code
Built with