1. Architecture
One Push
  • Tổng Quan
  • Bussiness Logic
    • ĐẶC TẢ KỸ THUẬT: HỆ THỐNG ĐIỀU PHỐI TIN NHẮN (PUSH ENGINE)
    • ĐẶC TẢ KỸ THUẬT: HỆ THỐNG ĐỒNG BỘ HEARTBEAT (REAL-TIME SYNC)
    • ĐẶC TẢ KỸ THUẬT: HỆ THỐNG ĐIỀU PHỐI TIN NHẮN (PUSH ENGINE)
    • Business Logic (Luồng Logic Nghiệp Vụ)
  • Project
    • API
      • Hướng dẫn sử dụng
        • 1.1 Khởi tạo Website Tham gia
        • 1.2 Cấu hình Bots Telegram
        • 1.3 Quản lý Chiến dịch (Campaigns)
        • 1.4 Lên Lịch Gửi Tự Động
        • 1.5 Tương tác & Thống kê
        • 1.6 Quản lý Tài khoản (RBAC)
        • 1.7 Báo cáo Chi tiết Tin nhắn (Web & Telegram)
      • Architecture
        • System Architecture (Kiến trúc Hệ thống)
        • Code Structure
        • Database Schema (Mô hình Dữ liệu)
      • Deployment
        • Local
        • Production
        • Development
      • API
        • Widget nhúng Website
          • Đăng ký Subscriber mới / Nhật ký Heartbeat
          • Cập nhật trạng thái Seen/Read
          • Ghi nhận hiển thị Alert Popup
          • Lấy dữ liệu Alert cho website
        • Tracking & Tương tác
          • Ghi nhận lựa chọn Yes/No
        • Báo cáo & Thống kê
          • Thống kê người dùng Real-time
          • Phân tích tăng trưởng Subscriber
          • Dữ liệu bản đồ nhiệt Vị trí
          • Xuất báo cáo thông báo Excel
        • Lịch gửi Thông báo
          • Danh sách lịch gửi thông báo
          • Tạo lịch gửi mới
          • Bật/Tắt lịch gửi
        • Betting Tips
          • Lấy Tip bóng đá HOT nhất
          • Lấy dữ liệu Mock Tip (Test)
        • Telegram Integration
          • Danh sách Telegram Bot
          • Telegram Webhook Endpoint
        • Email Marketing
          • Tạo và gửi chiến dịch Email
        • Hệ thống & RBAC
          • Danh sách tài khoản Admin/Nhân viên
          • Danh sách vai trò (Roles)
        • Tiện ích & Files
          • Truy xuất nhật ký hệ thống (System Logs)
        • Chiến dịch (Campaigns)
          • Danh sách chiến dịch
        • Website Khách hàng (Clients)
          • Danh sách website khách hàng
        • Quản lý Thành viên (Subscribers)
          • Danh sách người đăng ký (Subscribers)
          • Xóa người nhận tin
    • TOOL
      • Hướng dẫn sử dụng
        • Hướng dẫn sử dụng — Novu Notification Infrastructure
      • Architecture
        • System Architecture
        • Code Structure
        • Database Schema
      • Deployment
        • Deployment
      • API
        • 👥 Subscribers
          • Tạo/Cập nhật Subscriber
          • Cập nhật Profile
        • 🗺️ Workflows
          • Lấy danh sách Workflow Templates
          • Chi tiết Workflow
        • 📂 Notification History
          • Lịch sử biến động Notification
        • 🎯 Topics
          • Tạo Topic mới
        • 📐 Layouts
          • Lấy danh sách Layout (Email/Web)
        • 💬 Messages
          • Tra cứu vết tin nhắn chi tiết (Low-level)
        • 🔌 Integrations
          • Danh sách nhà cung cấp (Providers)
        • 🚀 Events & Triggers
          • Kích hoạt thông báo (Workflows)
          • Kích hoạt hàng loạt (Bulk Trigger)
  • Schemas
    • GenericResponse
  1. Architecture

Code Structure

5. Code Structure — One Push Architecture#


💻 Cấu Trúc Mã Nguồn & Quy Chuẩn (Code Hierarchy)#

Hệ thống One Push tuân thủ mô hình MVC (Model-View-Controller) chính quy của Laravel, đồng thời mở rộng thêm lớp Jobs/Services để xử lý không đồng bộ các luồng dữ liệu khổng lồ.

MỤC LỤC CHI TIẾT#

1.
I. Backend Architecture (Lõi xử lý PHP)
Controllers: Tiếp nhận & Điều hướng
Models: Thực thể CSDL & Quan hệ
Jobs: Bắn tin Push & Đồng bộ
2.
II. Frontend Assets (Giao diện Admin & Widget)
3.
III. Hệ sinh thái Automation (Tooling Scripts)
4.
IV. Cấu hình & Bảo mật (Env Config)

I. Backend Architecture (Lõi xử lý PHP)#

I.1. Controllers: Tiếp nhận & Điều hướng#

Location: app/Http/Controllers/
SubcController.php: Chốt chặn cuối nhận Heartbeat từ Widget.
WidgetController.php: Render cấu hình Widget linh hoạt theo từng Domain.
NotificationScheduleController.php: Logic xử lý và validate Lịch gửi.

I.2. Models: Thực thể CSDL & Quan hệ#

Location: app/Models/
NotificationSchedule: Định nghĩa logic quan hệ 1-N với bảng Logs.
Client: Chứa logic Accessors để lấy Icon/Token xác thực.

I.3. Jobs: Bắn tin Push & Đồng bộ#

Location: app/Jobs/
SendPushNotification.php: Job chia nhỏ mảng ID (Chunking) để gọi API FCM/Tele song song.
SyncSubscribers.php: Công việc định kỳ bốc data từ Redis Buffers để Bulk Insert vào MySQL.

II. Frontend Assets (Giao diện Admin & Widget)#

Admin UI: Sử dụng Vite + Laravel Blade. Toàn bộ mã nguồn nằm tại resources/views/.
Widget nhúng: File public/OnePushWidget.js được viết bằng Vanilla JS (không thư viện) để tốc độ tải trang nhanh nhất cho web khách hàng.

III. Hệ sinh thái Automation (Tooling Scripts)#

Chúng tôi phát triển bộ công cụ bổ trợ (Node.js) nằm ngoài core PHP để tự động hóa vận hành:
capture_dash.js: Tự động đăng nhập và screenshot dashboard.
pipeline.js: Luồng CI/CD build docker image và deploy.
openapi.yaml: Định nghĩa Swagger cho Public API.

IV. Cấu hình & Bảo mật (Env Config)#

Bí mật hệ thống được quản lý qua file .env (không lưu vào Git):
Biến sốPhạm viGhi chú
DB_DATABASEDatabaseKết nối MySQL/MariaDB
REDIS_HOSTCache/QueueĐịa chỉ cụm Redis tăng tốc
FCM_SERVER_KEYFirebaseMã xác thực bắn tin Push
Modified at 2026-03-27 03:49:16
Previous
System Architecture (Kiến trúc Hệ thống)
Next
Database Schema (Mô hình Dữ liệu)
Built with