Skip to main content

Kiến trúc dự án OTA

1. Giới thiệu

Kiến trúc của OTA xoay quanh việc sử dụng các bên thứ ba để bổ trợ vào nghiệp vụ. Mục tiêu là tận dụng tối đa các tài nguyên có sẵn và miễn phí nhằm khai thác tệp khách hàng chưa được phục vụ mạnh trên thị trường.

OTA hướng đến việc tinh gọn quy trình vận hành, giảm chi phí xây dựng hệ thống backend phức tạp, đồng thời đẩy mạnh hiệu quả kinh doanh thông qua các công cụ, nền tảng và dịch vụ đã được tối ưu sẵn. Từ đó, giúp doanh nghiệp tập trung vào chiến lược bán hàng, nội dung và marketing thay vì kỹ thuật.

2. Nội dung chi tiết

2.1. Các thành phần kết cấu OTA

  • WordPress: Được chia thành nhiều site để tiết kiệm tài nguyên và phục vụ nhiều nhóm khách hàng khác nhau.
  • Vin OTA: Đơn vị thứ ba hỗ trợ bán vé tham quan, sự kiện.
  • Cloudflare: Nền tảng triển khai (deploy) Static Website.
  • VNPT Epay: Đơn vị thứ ba hỗ trợ thanh toán trực tuyến.
  • Larkbase: Lưu trữ thông tin khách hàng, sản phẩm, thanh toán.
  • GitLab: Lưu trữ source code của plugins, themes và static website.

Mỗi thành phần trên được lựa chọn không chỉ vì tính năng kỹ thuật mà còn vì khả năng mở rộng, cộng đồng hỗ trợ mạnh và khả năng tích hợp linh hoạt giữa các hệ thống với nhau.

2.2. Chi tiết từng thành phần

WordPress

Là trung gian kết nối giữa Static Website và các đơn vị thứ ba, đảm bảo tính bảo mật cho thông tin khách hàng, đối tác và các credential quan trọng của công ty.

  • Lý do sử dụng: Do chính sách bảo mật của một số bên thứ ba không cho phép kết nối trực tiếp từ Static Website.

  • Tính năng:

    • Cho phép admin chỉnh sửa giao diện, thêm sản phẩm để phục vụ mục đích bán hàng.
    • Plugins: Giúp hỗ trợ thao tác nhanh hơn, tiết kiệm thời gian, đồng thời mở rộng chức năng cho hệ thống WordPress một cách linh hoạt.
    • Themes: Hỗ trợ admin trong việc cá nhân hóa giao diện phù hợp với từng mô hình nghiệp vụ. Theme có thể được tùy chỉnh chuyên sâu để tạo nên trải nghiệm riêng biệt cho từng nhóm khách hàng.

GitLab

Lưu trữ toàn bộ các repository liên quan đến OTA, bao gồm:

  • Plugins
  • Themes
  • Static Website

Ngoài ra, GitLab CI/CD còn được tận dụng để tự động hóa quy trình build và deploy, giúp rút ngắn thời gian cập nhật nội dung, tăng hiệu suất làm việc và giảm thiểu sai sót trong quá trình triển khai.

Vin OTA

Là đơn vị trung gian cung cấp vé tham quan cho các đại lý hợp tác.

  • Khi cần tài liệu tích hợp, admin sẽ yêu cầu từ đại lý để được cấp thông tin.
  • Việc tích hợp phải đảm bảo đúng tiêu chuẩn API của Vin OTA nhằm tránh sai lệch dữ liệu đơn hàng và trạng thái giao dịch.
  • Ngoài ra, hệ thống cũng cần có cơ chế đồng bộ tự động để cập nhật giá vé, số lượng vé và các chương trình khuyến mãi theo thời gian thực.

Larkbase

Lưu trữ thông tin về sản phẩm, đơn hàng và được dùng cho mục đích báo cáo.

  • Ưu điểm: Các tính năng miễn phí hỗ trợ khá tốt như quản lý bảng dữ liệu, lọc, truy vấn nhanh.
  • Hạn chế: API có thời hạn ngắn, yêu cầu admin phải duy trì lượng user hoạt động để giữ session liên tục.
  • Hệ thống cần có cơ chế tự động làm mới token hoặc thực hiện re-login định kỳ để đảm bảo không gián đoạn dịch vụ.

VNPT Epay

Hỗ trợ thanh toán qua ví điện tử, thẻ ngân hàng.

  • Khi muốn tích hợp, VNPT sẽ kiểm tra thông tin website của admin trước khi cấp quyền truy cập.
  • Việc lộ các thông tin bảo mật như API Key, Secret Key có thể dẫn đến rủi ro lớn như giả mạo giao dịch, tấn công từ chối dịch vụ hoặc thao túng luồng thanh toán. Vì vậy, cần áp dụng các biện pháp như sử dụng biến môi trường, mã hóa thông tin, phân quyền truy cập rõ ràng.
  • Hệ thống cũng cần log và giám sát toàn bộ callback từ VNPT để đảm bảo tính toàn vẹn và chính xác của các giao dịch.

2.3. Tổng quan luồng hoạt động

  1. Admin đăng bài hoặc cập nhật thông tin trên WordPress.
  2. Plugin "Simply Static" bắt sự kiện và tiến hành build lại toàn bộ website thành static files.
  3. Static files được push lên GitLab, tạo branch, rồi merge vào nhánh chính.
  4. Cloudflare nhận tín hiệu merge, tự động build và deploy static website.
  5. Người dùng truy cập website được phục vụ bằng bản build mới nhất.
  6. Khi có giao dịch phát sinh, hệ thống xử lý thanh toán qua VNPT Epay, lưu dữ liệu lên Larkbase.
  7. Admin có thể xem báo cáo, tra cứu lịch sử mua hàng, hoặc chỉnh sửa thông tin qua giao diện quản trị.

Thông qua luồng này, hệ thống OTA có thể duy trì tốc độ phản hồi nhanh, bảo mật cao và giảm thiểu chi phí vận hành.