# Tài liệu Kiến trúc C4 - Mức 2: Container Diagram (Landing Page) Mô tả các thành phần triển khai của hệ thống Landing Page. ## 1. Danh sách Container ### 1.1. Sales Landing App (Frontend) - **Công nghệ**: React, Vite, TailwindCSS. - **Vai trò**: Cung cấp giao diện tương tác (Responsive). - **Chức năng**: Form nhập liệu, Camera capture (cho OCR), PDF Viewer, điều hướng sản phẩm. ### 1.2. Backend For Frontend (BFF) - **Công nghệ**: Node.js / Express (hoặc Serverless Functions). - **Vai trò**: Trung gian bảo mật và điều phối API. - **Chức năng**: - Ẩn các Token/Secret khi gọi OCR và PDF API. - Quản lý session người dùng. - Chuẩn hóa dữ liệu trước khi gửi đi. ### 1.3. Local Storage / Caching DB - **Công nghệ**: PostgreSQL (hoặc Redis/LocalStorage tùy yêu cầu lưu lâu dài). *Dựa trên yêu cầu lưu lại khách hàng lần sau, sẽ dùng PostgreSQL.* - **Vai trò**: Lưu nháp thông tin khách hàng và lịch sử minh họa tạm thời. ## 2. Sơ đồ Container ```mermaid C4Container title Container Diagram - Landing Page Sales Party Person(sales_agent, "Nhân viên kinh doanh", "Sử dụng thiết bị cá nhân.") System_Boundary(landing_zone, "Landing Page System") { Container(web_app, "Sales Landing App", "React/Vite", "Giao diện người dùng Mobile-first.") Container(bff_api, "BFF Service", "Node.js", "Xử lý logic trung gian và bảo mật.") ContainerDb(local_db, "Client Cache DB", "PostgreSQL", "Lưu thông tin khách hàng nháp.") } System_Ext(auth_api, "Auth API", "Xác thực") System_Ext(ocr_service, "OCR Service", "Xử lý ảnh") System_Ext(pdf_engine, "PDF Engine", "Tạo PDF") System_Ext(core_system, "Core System", "Lưu hợp đồng") Rel(sales_agent, web_app, "Tương tác", "HTTPS") Rel(web_app, bff_api, "API Call", "JSON/HTTPS") Rel(bff_api, local_db, "Đọc/Ghi dữ liệu KH", "SQL") Rel(bff_api, auth_api, "Proxy xác thực", "REST") Rel(bff_api, ocr_service, "Gọi OCR", "REST") Rel(bff_api, pdf_engine, "Gọi tạo PDF", "REST") Rel(bff_api, core_system, "Submit hồ sơ", "REST") ``` --- *Biên soạn bởi: Agent mbl-landing-page-architecture*