| พอร์ทัล Auth และ admin | แอป Next.js 16 ทำหน้าที่เป็น OAuth2 authorisation server และ admin console สำหรับจัดการ client คู่ค้า adapter config และออก JWT bearer token |
| พอร์ทัลใช้งาน | UI Next.js 16 + React สำหรับผู้ขายและผู้ซื้อใช้ดู ยืนยัน ปฏิเสธ และกระทบยอดเอกสาร PO และ DN พร้อมอัปเดตสดผ่าน SSE |
| API service | Node.js + TypeScript บน Express 5 ให้บริการ endpoint submit/update/confirm/reject/cancel/version พร้อมตรวจสอบด้วย AJV JSON Schema |
| ฐานข้อมูล | MySQL 8 ผ่าน Prisma 7 — เก็บ version-history chain, supersession, Transactional Inbox, dead-letter queue, send log, และตาราง scheduler |
| Scheduler | ตาราง ScheduledJob / JobExecution บน MySQL พร้อม distributed locking ขับเคลื่อน retry แบบ exponential backoff ข้ามการรีสตาร์ท |
| DocSendWorker | ตัวส่งออกเอกสารที่ใช้ DefaultBuyerAdapter แบบรองรับทุกผู้ซื้อผ่าน JSON adapterConfig พร้อมสร้าง PDF ใบสั่งซื้อด้วย pdfkit |
| Logging | ส่ง log ไปยัง Grafana Loki ผ่าน file-queue worker ที่ crash-safe และ log แบบ structured จากทุก service |
| การ deploy | Docker Compose พร้อม Dockerfile สำหรับโปรดักชันและ health check พร้อมคู่มือติดตั้งสำหรับ Windows Server 2025 และ Ubuntu |