CẤU TRÚC MÃ NGUỒN (CODE STRUCTURE)#
Cấu trúc mã nguồn của dự án được tổ chức theo tiêu chuẩn của Laravel 10+, kết hợp mô hình Service - Repository Pattern nhằm phục vụ khả năng mở rộng nhanh chóng và chịu tải cao.C:\MarketingTool
│
├── app/
│ ├── Console/ # Chứa các Custom Commands và Cấu hình Cronjob Daemon (Tác vụ đặt lịch)
│ ├── Http/
│ │ ├── Controllers/ # Điều hướng logic API & Web Views (Ví dụ: UrlExtractController)
│ │ ├── Middleware/ # Bộ lọc Request: Khóa Auth Sanctum, Roles, Whitelist Block IP...
│ │ └── Services/ # (*Business Logic*) Lớp xử lý nghiệp vụ nặng, gọi API bên ngoài
│ ├── Jobs/ # Chứa các tác vụ chạy ngầm (Queue Jobs) cho hệ thống Async Crawler
│ ├── Models/ # Eloquent Model đại diện cho Database Schema (User, SearchEngine...)
│ └── Repositories/ # Database Query Layers (Tách biệt logic truy xuất DB khỏi Controller)
│
├── build/ # (*Tùy chỉnh bổ sung*) Nơi chứa cấu hình Dockerfile (Local/Stg/Prod)
├── config/ # Nơi cài đặt các biến tĩnh của Hệ Thống (*.php)
│
├── database/
│ ├── migrations/ # Các file script quản lý lịch sử tạo/sửa đổi cấu trúc DB
│ └── seeders/ # Code sinh dữ liệu giả (Fake Data Generator) để test
│
├── public/ # Thư mục public chứa file index.php, CSS/JS đã được build
├── resources/
│ ├── views/ # Chứa các giao diện UI Blade Render (Ví dụ: folder `/search-engine`)
│ └── css/ & js/ # Source Files Tailwind Config / Vite JS Build
│
├── routes/
│ ├── api.php # Nơi định nghĩa các endpoint API cho Frontend / Tool (Dùng Sanctum)
│ ├── console.php # Nơi định nghĩa các lịch trình chạy ngầm (Schedules/Cronjobs)
│ └── web.php # Chứa Routes cho Frontend Blade Views
│
├── storage/ # Thư mục lưu trữ Storage Disks (File upload), Cache, Logs hệ thống
├── .env.example # File mẫu chứa cấu hình biến môi trường của dự án
└── docker-compose.yml # Cấu hình cài đặt System Services ảo hóa Docker (Nginx, PHP, Redis...)
Xác thực & Quản lý Phiên (Authentication & Session)#
Hệ thống Marketing Tool là một ứng dụng Client-Server (SPA/Mobile App giao tiếp với API), do đó nghiệp vụ xác thực được thiết kế theo kiến trúc Stateless Token-based thông qua thư viện Laravel Sanctum.Sơ đồ Luồng Xác thực (Authentication Flow)#
Ngày cập nhật 2026-03-27 04:54:50