This commit is contained in:
Your Name committed 2026-10-01 05:49:58 +07:00
1 parent 7abbcfebd2
commit 0ceee3dbff
46 files changed
+226 -31

No files matched your search

+2
View File
@@ -1,5 +1,7 @@
# 🌍 คู่มือการเพิ่มภาษาใหม่ (Adding New Language Guide)
> **Platform scope:** This guide applies to shared localization capabilities. Tenant copy and content must be translated and approved per tenant.
โปรเจกต์ HomAroma ถูกออกแบบฐานข้อมูลมาให้รองรับหลายภาษา (Multi-language / i18n) ไว้แล้วโดยสมบูรณ์ผ่านรูปแบบ Entity Translation การเพิ่มภาษาใหม่ในระบบ (เช่น ภาษาที่ 7, 8) **ไม่ต้องทำการแก้โค้ดฝั่ง Backend หรือ Database ใดๆ ทั้งสิ้น** (ไม่ต้อง Migrate DB)
คุณสามารถเพิ่มภาษาใหม่ได้ง่ายๆ โดยการแก้ไขโค้ดฝั่ง Frontend (`apps/spa` และ `apps/website`) เท่านั้น ใช้เวลาเพียงไม่กี่นาที
+3 -1
View File
@@ -1,4 +1,6 @@
# HomAroma Admin Section Guide
# DBK Platform Admin Section Guide
> **Platform scope:** This guide describes shared CMS administration capabilities. Product and content examples are tenant-specific; HomAroma is the reference tenant.
This guide explains the dynamic page blocks available in the Page Builder and what each block contains.
+2
View File
@@ -1,5 +1,7 @@
# Agent Bootstrap
> **Project identity:** This repository contains **DBK Platform**, a multi-tenant / white-label commerce platform. **HomAroma** is its reference tenant. Treat legacy `homaroma` names in code and infrastructure as identifiers, not as a platform-wide product or vertical constraint. See `docs/PLATFORM_OVERVIEW.md`.
When working in this repository, read this file first.
## Start Here
+3 -1
View File
@@ -1,4 +1,6 @@
# Architecture Decisions — HomAroma Platform
# Architecture Decisions — DBK Platform
> **Platform scope:** HomAroma references in this ADR are reference-tenant context unless a decision explicitly names an operational resource.
> บันทึกการตัดสินใจเชิงสถาปัตยกรรม (ADR) จากการประชุมทีม
> อัปเดตล่าสุด: 2026-07-12
+2 -1
View File
@@ -1,4 +1,6 @@
# แผนการพัฒนาและคู่มือสร้างแผนที่ Malaysia & Vietnam Map
> **Platform capability plan:** Geographic coverage, data availability, and analytics configuration must be enabled and validated per tenant.
สำหรับเมนู Business Analytics บนระบบ HomAroma Admin
เอกสารนี้รวบรวมรายละเอียด แหล่งข้อมูล Open-source Repositories สำหรับดาวน์โหลดไฟล์ GeoJSON สถาปัตยกรรมทางเทคนิค และแผนขั้นตอนการนำไปพัฒนาต่อยอดให้เหมือนกับ **Omnichannel Sales Map (แผนที่ประเทศไทย)** เดิม
@@ -104,4 +106,3 @@
- `GET /business-analytics/sales-map?country=MY`
- `GET /business-analytics/sales-map?country=VN`
- แมปรหัสรัฐ/จังหวัดเข้ากับรหัสบน GeoJSON เพื่อแสดงความเข้มของสีและยอดขายแบบ Real-time ทั้งระดับรัฐ/จังหวัด และระดับอำเภอ/เขต
+2
View File
@@ -1,5 +1,7 @@
# Custom Block Flow Guide
> **Platform scope:** This guide describes shared CMS block workflows. Content examples belong to their named tenant.
เอกสารนี้อธิบาย Flow การสร้าง Custom Block สำหรับ HomAroma Page Builder โดยใช้ `BakeryCategories` เป็นตัวอย่างจริง เพื่อให้เพิ่ม block ถัดไปได้โดยไม่ต้อง hardcode section type ใหม่ทุกครั้ง
## แนวคิดหลัก
+2
View File
@@ -1,5 +1,7 @@
# DDC Deployment Runbook
> **Tenant operational runbook:** This document records DDC deployment configuration. Preserve its hostnames, paths, and process identifiers as operational facts; they are not DBK Platform branding.
เอกสารนี้เป็น runbook เฉพาะลูกค้า `ddc` โดยอิงจาก `DEPLOYMENT_GUIDE.md` และไฟล์ตัวอย่างใน `serverinfo/pkh-*`
## Target
+2
View File
@@ -1,5 +1,7 @@
# คู่มือการติดตั้งโปรเจกต์ใหม่ (New Project Deployment Guide)
> **DBK Platform operational guide:** Substitute tenant-specific domains, paths, credentials, and process names. Any `homaroma` identifier shown elsewhere in the repository is a legacy or reference-tenant identifier unless this guide explicitly selects it.
เอกสารนี้รวบรวมขั้นตอนการสร้างสภาพแวดล้อม (Environment) และการตั้งค่าระบบสำหรับลูกค้ารายใหม่ (เช่น โปรเจกต์ `pkh`) โดยอ้างอิงจากโครงสร้างระบบปัจจุบันบนเซิร์ฟเวอร์ `kitizone.com`
> [!NOTE]
+2
View File
@@ -1,5 +1,7 @@
# HuaHin Deployment Runbook
> **Tenant operational runbook:** This document records HuaHin deployment configuration. Preserve its hostnames, paths, and process identifiers as operational facts; they are not DBK Platform branding.
เอกสารนี้เป็น runbook เฉพาะลูกค้า `huahin` โดยอิงจาก `DEPLOYMENT_GUIDE.md` และไฟล์ตัวอย่างใน `serverinfo/ddc-*`
## Target
+2
View File
@@ -1,5 +1,7 @@
# Kittisak Deployment Runbook
> **Tenant operational runbook:** This document records Kittisak deployment configuration. Preserve its hostnames, paths, and process identifiers as operational facts; they are not DBK Platform branding.
เอกสารนี้เป็น runbook เฉพาะลูกค้า `kittisak` โดยอิงจาก `DEPLOYMENT_GUIDE.md` และไฟล์ตัวอย่างใน `serverinfo/ddc-*` / `serverinfo/huahin-*`
## Target
+4 -2
View File
@@ -1,6 +1,8 @@
# HomAroma MCP Guide for LLMs
# DBK Platform MCP Guide for LLMs
This guide explains how to use the HomAroma MCP tools safely and consistently.
This guide explains how to use the DBK Platform MCP tools safely and consistently. The tools operate on the active tenant's data and configuration; do not infer another tenant's catalog, brand, or enabled integrations from an example.
> HomAroma is the reference tenant. See [`docs/PLATFORM_OVERVIEW.md`](docs/PLATFORM_OVERVIEW.md) for platform terminology.
## Core Rules
+2
View File
@@ -1,5 +1,7 @@
# คู่มือการใช้ AI/LLM สร้าง JSON สำหรับนำเข้าสินค้า (Product Catalog Generator)
> **DBK Platform tenant examples:** Choose the prompt that matches the active tenant and vertical. HomAroma/wellness, beauty, fashion, and motorcycle examples are not platform defaults.
ระบบรองรับการสร้างสินค้าจำนวนมากผ่าน **JSON Import** ในหน้า Admin (`/admin/products` -> คลิกปุ่ม **"Import JSON"**) หรือเรียก API `POST /api/products/bulk`
เพื่อป้องกันไม่ให้ AI เกิดความสับสนกับตัวอย่างสินค้าเฉพาะกลุ่ม เอกสารชุดนี้จึงแยก Prompt ออกเป็น **4 ไฟล์เฉพาะทาง (Dedicated Prompts)** ตามหมวดธุรกิจและสภาพแวดล้อม Demo Showcase:
+2
View File
@@ -1,5 +1,7 @@
# Prompt สำหรับ LLM: สร้าง JSON สินค้ากลุ่ม Wellness & Luxury (แนว Panpuri, Jo Malone)
> **Tenant example:** This is a wellness/aroma catalog prompt for the HomAroma reference tenant or a compatible wellness tenant. It is not a DBK Platform-wide product requirement.
ไฟล์นี้ใช้สำหรับ **Copy & Paste ส่งให้ LLM (ChatGPT / Claude / Gemini)** เพื่อสร้างแคตตาล็อกสินค้าแนว **Luxury Wellness, Aromatherapy, Spa & Scent** สำหรับนำเข้าสู่ระบบ `wellness.kittisak.com` หรือร้านแนว Panpuri, Jo Malone, Erb, HARNN
---
+2
View File
@@ -1,5 +1,7 @@
# Prompt สำหรับ LLM: สร้าง JSON สินค้ากลุ่ม Beauty & Multi-Brand Cosmetics (แนว EVEANDBOY, Beautrium)
> **Tenant example:** This is a beauty catalog prompt. It is not a DBK Platform-wide product requirement.
ไฟล์นี้ใช้สำหรับ **Copy & Paste ส่งให้ LLM (ChatGPT / Claude / Gemini)** เพื่อสร้างแคตตาล็อกสินค้ากลุ่ม **Skincare, Makeup, Sunscreen, Serum, Cushion, Lipsticks** หลากหลายแบรนด์ชั้นนำ สำหรับนำเข้าสู่ระบบ `beauty.kittisak.com`
---
+2
View File
@@ -1,5 +1,7 @@
# Prompt สำหรับ LLM: สร้าง JSON สินค้ากลุ่ม Fashion & Apparel (แนว Jaspal, CPS CHAPS, Zara)
> **Tenant example:** This is a fashion catalog prompt. It is not a DBK Platform-wide product requirement.
ไฟล์นี้ใช้สำหรับ **Copy & Paste ส่งให้ LLM (ChatGPT / Claude / Gemini)** เพื่อสร้างแคตตาล็อกสินค้ากลุ่ม **เสื้อผ้าแฟชั่น, เดรส, กางเกง, เบลเซอร์, กระเป๋า และแอคเซสเซอรี** สไตล์ Contemporary / Urban Chic สำหรับนำเข้าสู่ระบบ `fashion.kittisak.com`
---
+2
View File
@@ -1,5 +1,7 @@
# Prompt สำหรับ LLM: สร้าง JSON สินค้ากลุ่ม Motorcycle Parts & Accessories (แนว RCB Racing Boy, Brembo, Ohlins)
> **Tenant example:** This is a motorcycle-parts catalog prompt. It is not a DBK Platform-wide product requirement.
ไฟล์นี้ใช้สำหรับ **Copy & Paste ส่งให้ LLM (ChatGPT / Claude / Gemini)** เพื่อสร้างแคตตาล็อกสินค้ากลุ่ม **อะไหล่แต่งมอเตอร์ไซค์, ระบบเบรก, โช้คอัพ, ก้านเบรก, ล้อแม็ก และท่อไอเสีย** คุณภาพสูง สำหรับนำเข้าสู่ระบบ `moto.kittisak.com`
---
+2
View File
@@ -1,5 +1,7 @@
# Original User Request x
> **Historical context:** This is an unedited record of an earlier request. Its HomAroma naming reflects the project identity at that time; the current platform identity is DBK Platform.
## Initial Request — 2026-06-28T19:40:16-04:00
Develop the `update_category_image` feature to allow updating the image URL of a category. This requires changes in both `apps/backend` (for the API and database update) and `apps/mcp-server` (for the MCP tool definition and handler).
+2
View File
@@ -1,5 +1,7 @@
# Prisma 7 — คู่มือการเชื่อมต่อและทำ Seed (ไม่งงอีกต่อไป)
> **Platform engineering guide:** Any HomAroma seed data in this guide is reference-tenant data. Validate the target tenant database and seed strategy before use.
xx
> **สำคัญมาก:** Prisma 7 เปลี่ยนวิธีการเชื่อมต่อฐานข้อมูลอย่างพื้นฐาน
> ถ้าเคยใช้ Prisma 4, 5, หรือ 6 มาก่อน — ของเก่าพวกนั้น **ใช้ไม่ได้อีกแล้ว**
+2
View File
@@ -1,5 +1,7 @@
# คู่มือโครงสร้าง JSON สำหรับนำเข้าสินค้า (Product JSON Import Specification)
> **DBK Platform tenant example:** Schema fields are shared platform contracts. The HomAroma brand, aroma products, categories, and copy below are reference-tenant sample data only.
ระบบนำเข้าสินค้าของ HomAroma รองรับการ Import ผ่านไฟล์ `.json` หรือวาง Payload JSON Array ได้โดยตรงผ่าน:
1. **หน้าจอ Admin:** เมนู `/products` -> กดปุ่ม **"Import JSON"**
2. **API Endpoint:** `POST /api/products/bulk` หรือ `POST /api/products`
+15 -11
View File
@@ -1,6 +1,8 @@
# รายละเอียดโปรเจกต์ HomAroma X
# รายละเอียดโปรเจกต์ DBK Platform
โปรเจกต์นี้เป็นระบบ E-commerce สำหรับผลิตภัณฑ์เครื่องหอมและน้ำมันหอมระเหย (Aroma & Essential Oils) โดยมีการออกแบบสถาปัตยกรรมแบบ Monorepo ที่แบ่งส่วนการทำงานออกเป็น 4 ส่วนหลักในโฟลเดอร์ `apps/` ดังนี้:
DBK Platform เป็นระบบ E-commerce แบบ multi-tenant / white-label สำหรับหลายประเภทธุรกิจ โดยออกแบบเป็น Monorepo ที่มี shared commerce capabilities สำหรับแต่ละ tenant. **HomAroma** เป็น reference tenant สำหรับสินค้า Aroma & Essential Oils ไม่ใช่ข้อจำกัดของแพลตฟอร์ม
> Source of truth สำหรับคำศัพท์และขอบเขต platform/tenant: [`docs/PLATFORM_OVERVIEW.md`](docs/PLATFORM_OVERVIEW.md)
---
@@ -28,13 +30,13 @@
* **เป้าหมาย:** เพื่อสร้างการรับรู้แบรนด์ (Brand Awareness) และช่วยให้ลูกค้าค้นหาพบผ่าน Search Engine ได้ง่าย
* **การเชื่อมโยง:** เชื่อมต่อกับ `backend` เพื่อดึงข้อมูลสินค้าและเนื้อหามาแสดงผลบนหน้าเว็บ
## 4. LIFF Mobile App (`apps/spa`)
**หน้ากากมือถือสำหรับลูกค้า (Customer Interface)**
## 4. Mobile / Social-commerce SPA (`apps/spa`)
**หน้าร้านมือถือสำหรับลูกค้า (Customer Interface)**
* **เทคโนโลยีที่ใช้:** React, Vite, LINE Front-end Framework (LIFF), Tailwind CSS
* **การทำงาน:** เป็น Single Page Application (SPA) ที่ออกแบบมาเพื่อรันภายในแอปพลิเคชัน LINE โดยเฉพาะ ลูกค้าสามารถสั่งซื้อสินค้า, ติดตามสถานะคำสั่งซื้อ, และรับสิทธิพิเศษต่างๆ ได้ทันทีผ่าน LINE OA
* **เป้าหมาย:** เพื่อความสะดวกสบายของลูกค้าในการเข้าถึงร้านค้าผ่านช่องทางที่คุ้นเคย (LINE) และสร้างความผูกพันกับลูกค้า (Customer Loyalty)
* **การเชื่อมโยง:** เชื่อมต่อกับ LINE Platform ผ่าน LIFF API และเชื่อมต่อกับ `backend` เพื่อทำรายการสั่งซื้อและจัดการข้อมูลสมาชิก
* **การทำงาน:** เป็น Single Page Application (SPA) สำหรับ mobile commerce. Tenant สามารถเปิดใช้ LINE LIFF เพื่อให้ลูกค้าสั่งซื้อ ติดตามสถานะ และรับสิทธิพิเศษผ่าน LINE OA ได้
* **เป้าหมาย:** ให้ tenant เลือกช่องทาง mobile/social commerce ที่เหมาะกับลูกค้าและกลยุทธ์ retention
* **การเชื่อมโยง:** เชื่อมต่อกับ `backend`; การเชื่อมต่อ LINE Platform ผ่าน LIFF API เป็น tenant-specific integration
---
@@ -51,24 +53,26 @@ graph TD
B[Backend - ElysiaJS]
A[Admin - React/Vite]
S[Main Website - Next.js]
W[LIFF App - React/Vite]
W[SPA - React/Vite]
end
A -- API Calls --> B
S -- API Calls --> B
W -- API Calls --> B
W -- Integration --> LINE
W -. Tenant-specific integration .-> LINE
B -- Query/Save --> PostgreSQL
```
* **Backend** คือหัวใจหลักที่ทุกส่วนต้องวิ่งมาหา
* **Admin** จัดการข้อมูลทั้งหมดผ่าน Backend
* **Main Website (SSR)** ดึงข้อมูลไปแสดงเพื่อผลทางด้าน Google Search/SEO
* **LIFF App** เป็นช่องทางหลักที่ลูกค้าใช้สื่อสารและสั่งซื้อสินค้าผ่านแอป LINE
* **SPA/LIFF** เป็นช่องทาง social commerce ที่ tenant เปิดใช้ได้ตามความเหมาะสม
---
## 5. การ Deployment และ CI/CD
## 5. Deployment และ CI/CD ของ HomAroma reference tenant
> ส่วนนี้เป็น operational runbook ของ HomAroma reference tenant. ชื่อ remote, host, PM2 process และ domain ที่มี `homaroma` เป็น legacy infrastructure identifiers ไม่ใช่ชื่อของ DBK Platform
โปรเจกต์นี้ใช้ระบบ **Git Hooks (post-receive)** ในการทำ Automated Deployment เมื่อมีการ Push โค้ดไปยังเซิร์ฟเวอร์
+7 -5
View File
@@ -1,4 +1,6 @@
# HomAroma Platform: บทวิเคราะห์โปรเจกต์ในมุมมองผู้บริหาร (Management Perspective)
# DBK Platform: บทวิเคราะห์โปรเจกต์ในมุมมองผู้บริหาร (Management Perspective)
> เอกสารนี้อธิบาย capability ระดับ platform. ตัวอย่างสินค้า, vertical, หรือกลยุทธ์เฉพาะแบรนด์ที่อ้างถึง HomAroma เป็น reference-tenant context ไม่ใช่ข้อจำกัดของ DBK Platform. ดู [`docs/PLATFORM_OVERVIEW.md`](docs/PLATFORM_OVERVIEW.md)
> **มุมมองการวิเคราะห์:** Executive Summary, Business Strategy, ROI, Unit Economics & Digital Transformation
> **เป้าหมาย:** สรุปคุณค่าทางธุรกิจ (Business Value) สำหรับนำเสนอผู้บริหารระดับสูง (C-Level / VP / Directors)
@@ -9,7 +11,7 @@
ในยุคที่ต้นทุนการตลาดออนไลน์ (Customer Acquisition Cost - CAC) พุ่งสูงขึ้นอย่างต่อเนื่อง และการพึ่งพาช่องทาง Marketplace เพียงอย่างเดียวทำให้แบรนด์เผชิญกับค่าธรรมเนียมที่สูงขึ้น (Commission & Platform Fees) และการถูกปิดกั้นการเข้าถึงฐานข้อมูลลูกค้า (Data Lock-in)
โปรเจกต์ **HomAroma** ถูกวางสถาปัตยกรรมขึ้นมาเพื่อเป็น **"ระบบการค้าแบบ Omnichannel ที่ขับเคลื่อนด้วยข้อมูล (Data-Driven Commerce Ecosystem)"** โดยผสมผสานจุดแข็งของการสร้างยอดขายผ่าน Marketplace เข้ากับการสร้างช่องทาง D2C (Direct-to-Consumer) บน Web และ LINE เพื่อดึงลูกค้าเข้ามาเป็นฐานข้อมูลของตัวเอง (First-Party Data) พร้อมทั้งมีระบบ Analytics และ Automation ที่ช่วยลดต้นทุนการดำเนินงาน เพิ่มอัตราการซื้อซ้ำ (Retention Rate) และเพิ่ม Customer Lifetime Value (LTV) อย่างยั่งยืน
**DBK Platform** ถูกวางสถาปัตยกรรมเพื่อเป็น **"ระบบการค้าแบบ Omnichannel ที่ขับเคลื่อนด้วยข้อมูล (Data-Driven Commerce Ecosystem)"** สำหรับหลาย tenant โดยผสมผสาน Marketplace, D2C storefront, social-commerce channels ที่ tenant เปิดใช้, first-party data, analytics และ automation เพื่อเพิ่มความคล่องตัวในการดำเนินงานและการเติบโตของแต่ละแบรนด์
---
@@ -17,7 +19,7 @@
```text
+------------------------------------+ +---------------------------------------------+
| Market Pain Points | | HomAroma Solutions |
| Market Pain Points | | DBK Platform Capabilities |
+------------------------------------+ +---------------------------------------------+
| 1. ค่าโฆษณาแพงขึ้น ยอดซื้อครั้งเดียว | ----> | ระบบ AI Predictive Retention & CRM |
| ลูกค้าหาย (High Churn Rate) | | ทักเตือนตามรอบซื้อซ้ำ พร้อมคูปองดึงกลับเฉพาะคน |
@@ -89,7 +91,7 @@
การเลือกใช้เทคโนโลยีที่ทันสมัยและน้ำหนักเบา ส่งผลเชิงบวกโดยตรงต่อต้นทุนการดำเนินงาน (Total Cost of Ownership - TCO):
| ปัจจัยด้านโครงสร้าง | เทคโนโลยีเดิมทั่วไป | สถาปัตยกรรม HomAroma | ประโยชน์เชิงการบริหาร (Management Benefit) |
| ปัจจัยด้านโครงสร้าง | เทคโนโลยีเดิมทั่วไป | สถาปัตยกรรม DBK Platform | ประโยชน์เชิงการบริหาร (Management Benefit) |
| :--- | :--- | :--- | :--- |
| **Server Runtime** | Node.js (Heavy memory footprint) | **Bun + Elysia.js** | ทำงานเร็วกว่า 3-5 เท่า ใช้ Server Spec เล็กกว่า ประหยัดค่า Cloud Server |
| **Database & Schema** | Traditional ORM / Manual SQL | **Prisma 7 + PostgreSQL** | Data integrity สูง ป้องกันข้อผิดพลาดด้านออเดอร์และสต็อก |
@@ -101,7 +103,7 @@
## 5. สรุปความคุ้มค่าและทิศทางในอนาคต (Strategic Conclusion)
HomAroma ไม่ใช่เพียงแค่ "เว็บไซต์ขายของออนไลน์" แต่เป็น **Digital Asset สำคัญขององค์กร** ที่ทำหน้าที่:
DBK Platform ไม่ใช่เพียงแค่ "เว็บไซต์ขายของออนไลน์" แต่เป็น **Digital Asset สำคัญขององค์กร** ที่ทำหน้าที่:
1. **เป็น Sales Channel** ที่เปิดรับรายได้ตลอด 24 ชม. ทั้งบน Web และ LINE
2. **เป็น Data Warehouse & Analytics Hub** ที่รวมข้อมูลยอดขาย ลูกค้า และกำไรจากทุกช่องทางเข้าไว้ด้วยกัน
3. **เป็น Marketing Automation Engine** ที่ทำงานเชิงรุกเพื่อรักษาลูกค้าเก่าและขยายลูกค้าใหม่
+8 -6
View File
@@ -1,14 +1,16 @@
# ภาพรวมและสรุปรายละเอียดโปรเจกต์ HomAroma (Project Architecture & Feature Breakdown)
# ภาพรวมและสรุปรายละเอียด DBK Platform (Project Architecture & Feature Breakdown)
> **ประเภทโปรเจกต์:** Omnichannel E-commerce & Marketing Technology (MarTech) Platform
> **หมวดหมู่ธุรกิจ:** Aroma, Essential Oils & Home Fragrance
> **โมเดลผลิตภัณฑ์:** 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`](docs/PLATFORM_OVERVIEW.md)
---
## 1. วัตถุประสงค์และภาพรวมสถาปัตยกรรม (System Architecture)
**HomAroma** เป็นระบบ E-commerce และ Marketing Technology ครบวงจรที่พัฒนาขึ้นมาเพื่อตอบโจทย์ทั้งฝั่ง **Direct-to-Consumer (D2C)**, **Social Commerce บน LINE**, **Omnichannel Marketplace Integration (TikTok, Shopee, Lazada)** และระบบหลังบ้าน **Back-office CRM & Financial Analytics**
**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 ส่วนหลัก:
@@ -21,7 +23,7 @@ graph TD
AI[AI Agents / Claude / LLM]
end
subgraph "HomAroma Monorepo"
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)"]
@@ -51,12 +53,12 @@ graph TD
* **SEO Automation & Structured Data:**
- สร้าง Dynamic `sitemap.ts` และ `robots.ts` อัตโนมัติ
- รองรับ OpenGraph (OG), Twitter Card และ Schema.org (JSON-LD) สำหรับ Product, Breadcrumb และ Article
* **Dynamic Headless Page Builder:** ระบบเรนเดอร์เนื้อหาจาก Database (`DynamicPageRenderer.tsx`) แสดงผล Component ต่างๆ ได้อย่างยืดหยุ่น เช่น Hero Banner, Editorial Carousels, Scent Profile Breakdown, Interactive Sticky Purchase Bar, Wishlist และ FAQ Accordion
* **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)
- ระบบค้นหาและตัวกรองตามคุณลักษณะสินค้า (Attribute Filters)
---
+2
View File
@@ -1,5 +1,7 @@
# เนื้อหาสำหรับนำไปใส่ใน Resume: สายงาน Online Marketing & E-commerce Developer
> **Historical portfolio context:** HomAroma references describe the reference-tenant implementation at the time of writing. The shared product is now named DBK Platform.
> **เป้าหมายตำแหน่งงาน:**
> • Technical Marketing Specialist / Marketing Technologist (MarTech)
> • E-commerce Growth Lead / Digital Marketing Specialist
@@ -1,4 +1,6 @@
# สรุปปัญหา ข้อผิดพลาด และ Checklist การสร้าง Tenant / Subdomain ใหม่
> **Historical operational record:** This postmortem preserves the facts of a 2026 tenant-provisioning incident. Existing HomAroma identifiers are legacy infrastructure references, not DBK Platform branding.
(Tenant Provisioning Post-Mortem & Standard Operating Procedure)
บันทึกข้อผิดพลาดจากการสร้าง Showcase Subdomains (`wellness`, `fashion`, `beauty`, `moto`) บน `kittisak.com` เมื่อวันที่ 24 กันยายน 2026 เพื่อใช้เป็น Checklist ป้องกันการทำผิดพลาดซ้ำในอนาคต
+2
View File
@@ -1,5 +1,7 @@
# Premium Mega Menu E2E Testing Track
> **Reference-tenant test fixtures:** HomAroma URLs, fragrance categories, and media in examples are fixtures for the reference tenant. The shared assertions apply only where the target tenant enables the same mega-menu capability.
This document details the E2E testing infrastructure, strategy, feature inventory, and coverage requirements for the Premium Mega Menu. The testing track ensures that both the Next.js storefront and the Elysia backend work in tandem, handling new image-related metadata fields correctly from the DB up to the UI.
---
+3 -1
View File
@@ -1,4 +1,6 @@
# HomAroma MCP Server
# DBK Platform MCP Server
> HomAroma is the reference tenant. This server exposes shared MCP capabilities; a tool call must use the active tenant's data and configuration.
MCP server สำหรับเชื่อม AI tools เข้ากับ backend ของ HomAroma ผ่าน stdio transport
+4
View File
@@ -1,4 +1,8 @@
<!-- BEGIN:nextjs-agent-rules -->
# DBK Platform Website Agent Notes
> This application serves tenant storefronts. HomAroma-specific routes, copy, and assets are reference-tenant context unless a shared contract says otherwise.
# This is NOT the Next.js you know
This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices.
+2
View File
@@ -1,3 +1,5 @@
> **Historical HomAroma creative direction:** This material defines a fragrance/wellness tenant concept. It is not DBK Platform's global visual direction.
ได้ครับ และควรกำหนดเป็น **Creative Direction แบบข้อความกลาง** ก่อน แล้วค่อยแตกเป็น Prompt สำหรับภาพและ UI เพราะถ้าใช้ Prompt รายภาพอย่างเดียว งานจะค่อย ๆ หลุดโทนได้ง่าย
## 1. Project Mood & Tone หลัก
+52
View File
@@ -0,0 +1,52 @@
# DBK Platform Documentation Migration
## Status
The canonical platform identity is **DBK Platform**. **HomAroma is the reference
tenant**. This manifest governs the conversion of legacy documentation without
rewriting operational history or accidentally renaming runtime infrastructure.
See [Platform Overview](PLATFORM_OVERVIEW.md) for terminology.
## Completed: platform identity pass and scope labeling
- `PROJECT_DETAILS.md`
- `PROJECT_SYSTEM_SUMMARY.md`
- `PROJECT_MANAGEMENT_PERSPECTIVE.md`
- `LLM_MCP_GUIDE.md`
These documents now introduce DBK Platform before mentioning HomAroma and explain
the platform/tenant boundary.
## Classification record
| Classification | Files | Required treatment |
| --- | --- | --- |
| Platform capability and architecture | `ARCHITECTURE_DECISIONS.md`, `CUSTOM_BLOCK_FLOW_GUIDE.md`, `ADMIN_MCP_SECTION_GUIDE.md`, `PRISMA7_GUIDE.md`, `mcp_update.md`, `implementation_plan.md`, `frontend-comparison.md`, `BUSINESS_ANALYTICS_MAPS_PLAN.md`, `goal.section.md` | Rewrite product claims in vertical-neutral language. Keep real technical contracts and implementation details. |
| Tenant examples and content | `PRODUCT_JSON_IMPORT_SCHEMA.md`, `LLM_PRODUCT_JSON_GENERATOR_GUIDE.md`, `LLM_PROMPT_1_WELLNESS_LUXURY.md`, `LLM_PROMPT_2_BEAUTY_MULTIBRAND.md`, `LLM_PROMPT_3_FASHION_LIFESTYLE.md`, `LLM_PROMPT_4_MOTO_PARTS.md`, `docs/notifications/*`, `docs/policies/*`, `docs/tenants/**/*`, `TEST_INFRA.md` | Name the tenant at the start. Preserve product copy, sample data, and URLs as tenant examples. |
| Deployment and operations | `DEPLOYMENT_GUIDE.md`, `DDC_DEPLOYMENT_RUNBOOK.md`, `HUAHIN_DEPLOYMENT_RUNBOOK.md`, `KITTISAK_DEPLOYMENT_RUNBOOK.md`, `TENANT_PROVISIONING_POSTMORTEM_CHECKLIST.md` | Add a scope label. Preserve domains, hosts, process names, commands, and incident facts exactly unless an infrastructure migration is approved. |
| Historical records | `ORIGINAL_REQUEST.md`, `RESUME_PORTFOLIO_MARKETING_DEV.md` | Preserve the original content. Add a concise historical-context notice only if a reader could mistake it for current product documentation. |
| Developer instructions and local tool docs | `AGENTS.md`, `apps/website/AGENTS.md`, `apps/mcp-server/README.md`, `.agents/skills/**/*` | Update only after validating the referenced workflow against current code and owners. These files influence agent behavior, so they require a review gate. |
## Editing rules
1. Never replace every occurrence of `HomAroma`; decide whether it is a tenant,
historical name, or runtime identifier first.
2. Use **DBK Platform** for shared architecture, capabilities, and product
positioning.
3. Use **HomAroma** only when the document refers to the reference tenant,
HomAroma-specific content, or a legacy operational identifier.
4. Label examples with their tenant and vertical.
5. Do not claim a channel or integration is enabled for every tenant unless it is
enforced by a shared contract.
6. Treat paths, domains, PM2 names, package names, database names, storage keys,
and environment variables as a separate infrastructure migration.
## Acceptance checks
- A reader can identify whether a document describes the platform, a tenant, or
historical/operational context from its heading or opening note.
- No current overview describes DBK Platform as aroma-only.
- Tenant-specific product data is not presented as a mandatory platform schema or
capability.
- Historical operational data remains traceable and unchanged in meaning.
- Markdown links and `git diff --check` pass before handoff.
+52
View File
@@ -0,0 +1,52 @@
# DBK Platform Overview
## Purpose
DBK Platform is a multi-tenant, white-label commerce platform. It provides the
shared capabilities required to operate branded commerce experiences across web,
social-commerce, administrative, and marketplace channels. It is not limited to
one product vertical.
## Product model
| Term | Meaning |
| --- | --- |
| **DBK Platform** | The shared product, architecture, applications, and operational capabilities in this repository. |
| **Tenant** | A separately branded commerce implementation using the platform. A tenant owns its brand, catalog, content, domains, integrations, and configuration. |
| **Reference tenant** | A concrete tenant retained as an implementation and content reference. |
| **HomAroma** | The reference tenant for aroma, essential-oil, and home-fragrance commerce. It is not the platform's product category. |
| **Legacy identifier** | Existing repository names, hosts, PM2 processes, domains, storage keys, and deployment paths that contain `homaroma`. These are operational identifiers until explicitly migrated. |
## Shared applications
- `apps/backend`: API, commerce domain logic, persistence, tenant-aware configuration, and integrations.
- `apps/admin`: back-office operations and content/commerce management.
- `apps/website`: server-rendered public storefront with SEO support.
- `apps/spa`: mobile and social-commerce storefront, including LINE LIFF where enabled by a tenant.
- `apps/mcp-server`: MCP interface for supported content and administration workflows.
- `packages/types`: shared TypeScript contracts.
## Documentation rules
1. Platform documents must describe capabilities in vertical-neutral language.
2. Tenant documents must name the tenant and may use vertical-specific products,
copy, images, routes, domains, or integrations.
3. Examples must identify their tenant; they must not imply that their catalog is
a platform requirement.
4. Historical records retain their original names and claims, but must carry a
short historical-context note when they could be mistaken for current platform
documentation.
5. A legacy infrastructure identifier is not evidence of current product branding.
## Current tenants and examples
HomAroma is the reference tenant. The repository also contains tenant or showcase
material for wellness, beauty, fashion, motorcycle parts, and other deployments.
Their presence demonstrates that DBK Platform supports multiple verticals; it does
not guarantee that every documented integration is enabled for every tenant.
## Migration boundary
This documentation migration does not rename runtime identifiers or alter code,
database schemas, deployment paths, domains, environment variables, or external
contracts. Such changes require a separately planned infrastructure migration.
+2
View File
@@ -1,5 +1,7 @@
# Order Confirmation Template
> **HomAroma reference-tenant template:** Replace brand name, voice, support details, and product-specific language for another DBK Platform tenant.
## English Version
**Subject:** 🌟 Thank you for choosing HomAroma! Your order [Order ID] is confirmed.
+2
View File
@@ -1,5 +1,7 @@
# Shipping Tracking Notification Template
> **HomAroma reference-tenant template:** Replace brand name, voice, support details, and product-specific language for another DBK Platform tenant.
## English Version
**Subject:** 🚚 Good news! Your HomAroma order #[Order ID] is on its way.
+2
View File
@@ -1,5 +1,7 @@
# Privacy Policy | นโยบายความเป็นส่วนตัว
> **Tenant policy template:** Verify and replace the tenant's legal entity, contact details, data practices, and jurisdiction before publication. This is not a platform-wide policy.
## English
**Last Updated: [Date]**
+2
View File
@@ -1,5 +1,7 @@
# Return & Refund Policy | นโยบายการคืนสินค้าและการคืนเงิน
> **Tenant policy template:** Verify and replace the tenant's legal entity, product conditions, contact details, and applicable law before publication. This is not a platform-wide policy.
## English
We want you to love your **HomAroma** products. If you are not completely satisfied, we are here to help.
+2
View File
@@ -1,5 +1,7 @@
# Shipping Policy | นโยบายการจัดส่งสินค้า
> **Tenant policy template:** Verify and replace the tenant's delivery areas, rates, service levels, contact details, and applicable law before publication. This is not a platform-wide policy.
## English
At **HomAroma**, we strive to deliver your sensory experiences as quickly and safely as possible.
+2
View File
@@ -1,5 +1,7 @@
# Kittisak.com — Project Specification & Domain Blueprint
> **Tenant scope:** This specification applies to Kittisak.com only. It documents one DBK Platform tenant and must not be read as a platform default.
เอกสารภาพรวมโครงการ วัตถุประสงค์ทางธุรกิจ สถาปัตยกรรมระบบ และข้อมูลทางเทคนิคของโดเมน `kittisak.com`
---
@@ -1,5 +1,7 @@
# Brand Identity & Theme Specification — Kittisak.com
> **Tenant scope:** This brand, theme, and metadata specification applies only to Kittisak.com. It is not a DBK Platform default.
เอกสารกำหนดอัตลักษณ์ของแบรนด์ โทนสี ธีม ดีไซน์ และการตั้งค่า SEO Metadata สำหรับ `kittisak.com`
---
@@ -1,5 +1,7 @@
# Third-Party Integrations & Configurations — Kittisak.com
> **Tenant scope:** These integrations and credentials/configuration expectations apply to Kittisak.com only, not every DBK Platform tenant.
เอกสารบันทึกรายละเอียดการเชื่อมต่อระบบภายนอก (Third-Party Services) คีย์สภาพแวดล้อม และสถานะการเปิดใช้งานสำหรับ `kittisak.com`
---
+2
View File
@@ -1,5 +1,7 @@
# User Flows & Operational Workflows — Kittisak.com
> **Tenant scope:** These journeys reflect Kittisak.com configuration and operating policy. They are not mandatory for every DBK Platform tenant.
เอกสารแสดงขั้นตอนการทำงานและเส้นทางประสบการณ์ผู้ใช้ (User Journeys) สำหรับ `kittisak.com`
---
+2
View File
@@ -1,5 +1,7 @@
# Website CMS Parity Plan
> **Platform implementation plan:** HomAroma page, content, and route references are reference-tenant parity targets unless the document explicitly describes a shared CMS contract.
## Goal
Bring `apps/website` closer to the Page Builder CMS behavior already used by `apps/spa`, while preserving Next.js SSR/SEO behavior.
+2
View File
@@ -1,5 +1,7 @@
# Website Route Parity Audit
> **Reference-tenant audit:** This audit compares the HomAroma reference tenant's website and SPA routes. It is not a mandatory route set for every DBK Platform tenant.
Scope: read-only comparison of `apps/spa/src/App.tsx` against `apps/website/src/app/**`.
## Route Matrix
+2
View File
@@ -1,5 +1,7 @@
# สรุปความแตกต่างและเป้าหมายการใช้งาน: `apps/ssr` vs `apps/website`
> **Platform architecture note:** Any HomAroma-specific routes, data, or branding cited below are reference-tenant examples.
เอกสารนี้สรุปความแตกต่างเชิงสถาปัตยกรรม (Architecture) และจุดประสงค์การใช้งานระหว่าง Frontend ทั้งสองระบบในโปรเจกต์ HomAroma เพื่อให้ทีมพัฒนาเข้าใจว่าควรเลือกใช้หรือพัฒนาต่อยอดที่โปรเจกต์ใด
## ตารางเปรียบเทียบ (Comparison Table)
+3 -1
View File
@@ -1,4 +1,6 @@
# ระบบ CMS Pages และ Section Block ของ HomAroma
# ระบบ CMS Pages และ Section Block ของ DBK Platform
> **Platform scope:** HomAroma content blocks are reference-tenant examples, not a restriction on tenant verticals.
## การทำงานของระบบ CMS Pages และ Section Block
+3 -1
View File
@@ -1,4 +1,6 @@
# HomAroma: Curated Lucide Icon Registry
# HomAroma Reference Tenant: Curated Lucide Icon Registry
> **Tenant asset:** This registry includes fragrance/wellness icon choices for HomAroma. DBK Platform tenants should maintain their own vertical-appropriate registries or use only the shared general icons.
This document contains a curated list of 80 `lucide-react` icons tailored specifically for the **HomAroma** project. It is divided into 30 business-specific icons (Home Fragrance & Wellness) and 50 general E-commerce icons.
+2
View File
@@ -1,5 +1,7 @@
# Website SSR Migration Plan
> **Historical/reference-tenant plan:** This plan records the HomAroma website migration scope at the time it was written. Revalidate routes, tenant configuration, and completion status before applying it to another tenant.
## Goal
Upgrade `apps/website` into the Next.js SSR/SEO version of the current `apps/spa` experience.
+3 -1
View File
@@ -1,4 +1,6 @@
# HomAroma MCP Update: `mega-showcase`
# DBK Platform MCP Update: `mega-showcase`
> **Historical implementation context:** This update was produced against the HomAroma reference tenant. The MCP contracts described here are platform capabilities unless explicitly marked tenant-specific.
เอกสารนี้สรุปผลการใช้งาน `homaroma_mcp` กับหน้า CMS `mega-showcase` เพื่อส่งต่อให้ทีม Dev ของ MCP Tool และ Backend ใช้พัฒนาต่อ