Skip to main content

ภาพรวมสถาปัตยกรรม

CCR แบ่งระบบเป็น frontend 2 ตัวและ backend service หลัก 4 ตัว โดยแต่ละ service มี database context ของตัวเองและรับผิดชอบ domain ชัดเจน

LayerModuleหน้าที่
Customer Webccr-frontend-userหน้า public สำหรับ search car, booking, login, payment และ profile/contact
Backofficeccr-frontend-backofficeหน้าจอ admin สำหรับ operation, setting, users/roles และ report
Backendccr-booking-servicebooking lifecycle, booking edit, cancellation, refund, email queue
Backendccr-catalog-servicecar, branch, add-on, promotion, fuel, OWR, public search, signed URL
Backendccr-user-serviceuser, role, permission, customer, consent, contact, Auth0/APIM lookup
Backendccr-payment-servicepayment transaction, payment method, webhook, payment subscription
QAccr-test-suitePlaywright regression suite สำหรับ Backoffice

Boundary สำคัญ

  • Booking Service เก็บ snapshot ของข้อมูล booking เช่น car, branch, customer, addon เพื่อให้ booking history ไม่เปลี่ยนตาม master data ล่าสุด
  • Catalog Service เป็น source หลักของ search และ master data ฝั่งขาย เช่น car, branch, add-on, promotion
  • User Service แยก customer profile และ backoffice RBAC ออกจาก booking
  • Payment Service แยก transaction และ webhook เพื่อไม่ให้ payment concern กระจายไปอยู่ใน booking