17 KiB
ภาพรวมและสรุปรายละเอียด DBK Platform (Project Architecture & Feature Breakdown)
ประเภทโปรเจกต์: Omnichannel E-commerce & Marketing Technology (MarTech) Platform
โมเดลผลิตภัณฑ์: Multi-tenant / white-label commerce platform สำหรับหลาย verticals สถาปัตยกรรม: Monorepo (Bun Workspaces) Full-Stack TypeScript Architecture
Tenant context: HomAroma เป็น reference tenant ในกลุ่ม Aroma, Essential Oils & Home Fragrance; ตัวอย่าง vertical-specific ในเอกสารนี้ต้องตีความเป็น tenant capability ไม่ใช่ข้อกำหนดของ DBK Platform. ดู
docs/PLATFORM_OVERVIEW.md
1. วัตถุประสงค์และภาพรวมสถาปัตยกรรม (System Architecture)
DBK Platform เป็นระบบ E-commerce และ Marketing Technology ที่ให้ shared capabilities สำหรับ tenant ในรูปแบบ Direct-to-Consumer (D2C), social commerce, marketplace integration และ back-office CRM/financial analytics. การเปิดใช้ channel, integration และ feature จริงขึ้นกับ tenant
ระบบถูกจัดโครงสร้างในรูปแบบ Monorepo โดยใช้ Bun เป็น Package Manager และแบ่ง Application ออกเป็น 5 ส่วนหลัก:
graph TD
subgraph "External Ecosystem"
DB[(PostgreSQL)]
LINE[LINE OA & LIFF Platform]
MKT[Marketplaces: TikTok / Shopee / Lazada]
AI[AI Agents / Claude / LLM]
end
subgraph "DBK Platform Monorepo"
API["apps/backend<br/>(Bun + Elysia.js + Prisma 7)"]
ADMIN["apps/admin<br/>(React + Vite + D3.js)"]
WEB["apps/website<br/>(Next.js App Router SSR / SEO)"]
SPA["apps/spa<br/>(React + Vite + LINE LIFF)"]
MCP["apps/mcp-server<br/>(Model Context Protocol for AI)"]
TYPES["packages/types<br/>(Shared Data Contracts)"]
end
ADMIN -- REST API --> API
WEB -- REST API --> API
SPA -- REST API --> API
SPA -- Integration --> LINE
MCP -- Stdio / Tool Calls --> API
AI -- Agent Operations --> MCP
API -- Ingestion & Reconcile --> MKT
API -- Query / Mutate --> DB
2. เจาะลึกความสามารถของแต่ละแอปพลิเคชัน (Application Details)
2.1 Next.js Main Website (apps/website) — Public SEO & D2C Storefront
ทำหน้าที่เป็นหน้าร้านหลักที่เน้นการทำ Search Engine Optimization (SEO) และสร้าง Brand Awareness:
- Next.js App Router & Server-Side Rendering (SSR): โหลดรวดเร็ว รองรับ Web Vitals และ Bot ของ Search Engine ทุกประเภท
- Internationalization (i18n): รองรับระบบหลายภาษาผ่าน Dynamic Route
/[lang]/...(รองรับ th, en, ja, zh, vi, ko, lo, it) - SEO Automation & Structured Data:
- สร้าง Dynamic
sitemap.tsและrobots.tsอัตโนมัติ - รองรับ OpenGraph (OG), Twitter Card และ Schema.org (JSON-LD) สำหรับ Product, Breadcrumb และ Article
- สร้าง Dynamic
- Dynamic Headless Page Builder: ระบบเรนเดอร์เนื้อหาจาก Database (
DynamicPageRenderer.tsx) สำหรับ component ที่ยืดหยุ่น เช่น Hero Banner, Editorial Carousels, product attributes, Interactive Sticky Purchase Bar, Wishlist และ FAQ Accordion - E-commerce Client Experience:
- Dynamic Cart Drawer
- คูปองส่วนลดและระบบโปรโมชันอัตโนมัติ
- หน้า Checkout รองรับแนบสลิปชำระเงินและแจ้งโอน
- ระบบค้นหาและตัวกรองตามคุณลักษณะสินค้า (Attribute Filters)
2.2 LINE Official Account (LINE OA) & LIFF Mobile App (apps/spa) — Social Commerce & Automated CRM
ระบบถูกออกแบบมาเพื่อผสานเข้ากับ LINE Ecosystem อย่างสมบูรณ์แบบ ทั้งในส่วนของหน้าร้านบนมือถือ (LIFF) และระบบสื่อสารอัตโนมัติผ่านแชท (LINE Messaging API):
1. Seamless LINE Login & Auto-Authentication (LIFF SDK)
- Zero-Friction Registration: เมื่อลูกค้าคลิกลิงก์จาก LINE OA หรือ Rich Menu ระบบจะทำการ Auto-login ด้วย
lineUserIdอัตโนมัติ โดยไม่ต้องให้ลูกค้าพิมพ์ Username/Password หรือจำรหัสผ่าน - Customer Profile Sync: ดึง Display Name และรูปโปรไฟล์จาก LINE เข้าสู่ฐานข้อมูลลูกค้า (
Customer) ทันที พร้อมสร้างบัญชีสมาชิกให้โดยอัตโนมัติ
2. Automated Messaging API & Rich Flex Messages (ระบบแจ้งเตือนอัตโนมัติผ่าน LINE Chat)
ระบบมีการเชื่อมต่อ LINE Messaging API (@line/bot-sdk) เพื่อยิงข้อความแบบ Flex Message ดีไซน์เฉพาะตัว สวยงามเหมือนการ์ดแอปพลิเคชัน แจ้งเตือนลูกค้าในทุกขั้นตอนของ Customer Journey:
- 🔔 Order Created Notification: ส่งการ์ดแจ้งยอดชำระ สรุปรายการสินค้า และเลขที่บัญชีธนาคารทันทีหลังกดสั่งซื้อ พร้อมปุ่ม Call-to-Action "แนบสลิปชำระเงิน" และ "ติดตามสถานะออเดอร์" ที่คลิกแล้วเปิดหน้าเว็บทำรายการต่อได้ทันที
- ✨ Payment Confirmed & Points Notification: เมื่อแอดมินหรือระบบอนุมัติสลิปโอนเงิน ระบบจะส่ง Flex Message ขอบคุณ พร้อมแจ้งแต้มสะสมที่ได้รับเพิ่มในออเดอร์นั้น (
+points) และยอดคะแนนสะสมรวมทั้งหมด พร้อมปุ่มพาลูกค้าไปหน้า "แลกของรางวัล & คูปองสะสม" - 🚚 Order Shipped Notification: เมื่อพัสดุถูกจัดส่ง ระบบจะยิงข้อความแจ้งเตือนพร้อมแสดง Tracking Number และปุ่ม "เช็คสถานะการจัดส่ง" แบบ 1-Click
- 🚫 Order Cancelled & Auto-Refund Points: หากคำสั่งซื้อถูกยกเลิก (เช่น เกินเวลาชำระเงิน) ระบบจะแจ้งเตือนพร้อมดำเนินการ คืนแต้มสะสม (Refund Points) กลับเข้ากระเป๋าลูกค้าทันทีโดยอัตโนมัติ
3. Social Commerce & Customer Loyalty Experience
- Loyalty Points Engine: คำนวณแต้มสะสมตามยอดใช้จ่ายจริง (กำหนด Earn Rate ได้จากหลังบ้าน) ลูกค้าสามารถนำแต้มสะสมมาใช้เป็นส่วนลดเงินสดได้ในขั้นตอน Checkout
- Coupon & Promotion Wallet: รองรับการใช้โค้ดส่วนลด โปรโมชันตามขั้นบันได (Tiered Promotions) และโค้ดส่งฟรี
- Customer Address Book: บันทึกที่อยู่จัดส่งเริ่มต้น (Default Address) ของลูกค้าไว้ในระบบ ไม่ต้องพิมพ์ซ้ำเมื่อกลับมาซื้อใหม่
- Mobile Slip Upload: ถ่ายรูปหรือแนบสลิปการโอนเงินผ่านมือถือได้ทันที ไม่ต้องสลับหน้าจอไปส่งในแชท
4. LINE Webhook Architecture & Security
- รองรับ Webhook Signature Verification (
x-line-signatureด้วย HMAC-SHA256) เพื่อความปลอดภัยสูงสุด ป้องกันข้อความปลอมแปลง - สถาปัตยกรรมรองรับการต่อยอดเป็น Interactive Chatbot และการ Broadcast ข้อความเฉพาะกลุ่ม (Audience-targeted Broadcast)
2.3 Admin Portal (apps/admin) — Back-office, MarTech & Financial Analytics
ศูนย์บัญชาการธุรกิจสำหรับผู้บริหารและทีมการตลาด รวบรวมฟังก์ชันบริหารจัดการและ Data Analytics ขั้นสูง:
ก. Marketing & CRM Suite
- Predictive Repeat Customers Dashboard & Action Plan:
- ระบบตรวจจับรอบการซื้อซ้ำของลูกค้า (
avgIntervalDays) และทำนายวันที่ลูกค้าจะกลับมาซื้อใหม่ (predictedNextOrderDate) - แบ่งกลุ่มลูกค้าตามสถานะความเสี่ยง:
VIP Rewards: ลูกค้าชั้นดี ยอดซื้อสะสมสูงDue Soon (Restock): สินค้าใกล้หมดตามสถิติ ต้องทักเตือนOverdue / Churn Risk: ลูกค้าหลุดรอบการซื้อเฉลี่ย ต้องดึงกลับด้วย Win-back VoucherHealthy / Nurturing: อยู่ในรอบปกติ ส่งคอนเทนต์สร้างสัมพันธ์
- One-click Personalized Copywriting: สร้างข้อความและคูปองเฉพาะบุคคล (เช่น RESTOCK10, COMEBACK20, VIPHOMAROMA) พร้อมปุ่ม Copy สคริปต์ไปส่งแชทได้ทันที
- CRM Pipeline Tracking: บันทึกสถานะการติดต่อ (Pending, Contacted, Converted, Unresponsive) พร้อมประวัติ Activity Logs
- ระบบตรวจจับรอบการซื้อซ้ำของลูกค้า (
- Geographic Sales Intelligence (Spatial Maps with D3.js):
- แผนที่ยอดขายภูมิศาสตร์แบบ Vector SVG (Interactive Pan & Zoom, Choropleth Heatmap):
- Thailand Sales Map: เจาะลึกระดับ 77 จังหวัด
- Malaysia Sales Map: ครอบคลุม 13 รัฐ และเจาะลึก 160 เขต (Daerah)
- Vietnam Sales Map: ครอบคลุม 63 จังหวัด และเจาะลึก 708 อำเภอ (Quận/Huyện)
- ช่วยให้ทีมการตลาดทำ Geo-targeted Advertising (เช่น Facebook/TikTok Ads Location Targeting) ได้อย่างแม่นยำ
- แผนที่ยอดขายภูมิศาสตร์แบบ Vector SVG (Interactive Pan & Zoom, Choropleth Heatmap):
ข. Marketplace Multi-channel Financials
- Marketplace Ingestion & Settlement Reconciliation:
- ดึงข้อมูล Order, SKU และ Settlement จาก TikTok Shop, Shopee, Lazada
- ตรวจสอบค่าธรรมเนียมจริง: Commission Fee, Affiliate Commission, Platform Growth Fee, Shipping Discounts
- คำนวณ Net Settlement (เงินเข้าบัญชีจริง) เปรียบเทียบกับ Gross Revenue
- TikTok Price & Profit Simulator:
- เครื่องมือจำลองราคาขายและโปรโมชัน ช่วยคำนวณกำไรสุทธิ (Net Margin) และจุดคุ้มทุน (Break-even) ทันทีหลังหักค่าธรรมเนียมแพลตฟอร์ม
ค. Product & COGS Management
- Master Catalog & SKU Mapping: เชื่อมโยง SKU บนแต่ละมาร์เก็ตเพลสเข้าสู่ Master Product Catalog เดียวกัน เพื่อตัดสต็อกและวิเคราะห์ยอดขายรวม
- Bill of Materials (BOM) & Raw Material Costing:
- ผูกสูตรวัตถุดิบ (
RawMaterial) เข้ากับสินค้า (ProductVariant) - คำนวณต้นทุนสินค้าจริง (COGS) อัตโนมัติ เพื่อให้เห็น Gross Margin แท้จริงของแต่ละ SKU
- ผูกสูตรวัตถุดิบ (
ง. Headless CMS & Visual Design Tokens
- Dynamic Page Builder: สร้างและแก้ไขหน้า Landing Page, จัดลำดับ Section, เพิ่มแบนเนอร์และวิดีโอแบบ Drag & Drop
- Theme Customization Engine: ปรับแต่ง Color Palette, Font Family, Header Layout, Scroll Reveal Animation ได้จากหน้าบ้านโดยไม่ต้องแก้โค้ด
2.4 High-Performance Backend API (apps/backend)
- Bun + Elysia.js: เฟรมเวิร์กประสิทธิภาพสูง ประมวลผลเร็ว รองรับปริมาณ Traffic สูงด้วยการกินทรัพยากรที่ต่ำ
- Prisma 7 ORM & PostgreSQL: โครงสร้างข้อมูลแบบ Relational แข็งแกร่ง รองรับการทำ Indexing, Foreign Keys, Cascades และ Audit Fields
- Modular Domain Architecture:
businessAnalytics.ts(ระบบประมวลผลสถิติและแผนที่ยอดขาย)crm.ts(ระบบจัดการลูกค้าสัมพันธ์และ Action Plan)tiktokOrder.ts,shopee.ts,lazadaOrder.ts(ประมวลผลข้อมูลมาร์เก็ตเพลส)products.ts,orders.ts,coupons.ts,promotions.ts,payments.ts
2.5 Model Context Protocol Server (apps/mcp-server) — AI-driven E-commerce
- Autonomous AI Tooling: พัฒนาระบบเชื่อมต่อกับ AI Agents ผ่านมาตรฐาน Model Context Protocol (MCP)
- ให้ AI (เช่น Claude หรือ Cursor/Antigravity) สามารถ:
- บริหารจัดการโครงสร้าง Mega Menu ข้ามภาษา
- อัปเดตข้อมูลสินค้าและแปลภาษาอัตโนมัติ (Automated Localization)
- บริหารจัดการเนื้อหาบน Page Builder ผ่าน Natural Language Command
3. สรุป Tech Stack ทั้งระบบ
| Layer | เทคโนโลยีที่เลือกใช้ |
|---|---|
| Runtime & Package Manager | Bun (Monorepo Workspaces) |
| Backend Framework | Elysia.js (TypeScript) |
| Database & ORM | PostgreSQL, Prisma 7 |
| Main Website (D2C/SEO) | Next.js 15 (App Router, SSR, Server Components), Tailwind CSS |
| Mobile App (LINE Commerce) | React, Vite, LINE Front-end Framework (LIFF), Tailwind CSS |
| Admin Portal | React, Vite, Tailwind CSS, D3.js (d3-geo), Lucide Icons |
| Data Visualization & GIS | D3-geo, SVG Vector Maps, GeoJSON (Thailand, Malaysia, Vietnam) |
| AI Integration | Model Context Protocol (MCP SDK, stdio transport) |
| DevOps & Infrastructure | Linux, Nginx, PM2, Git Post-receive Hooks (Zero-downtime Deploy) |