task-b.1
complere
This commit is contained in:
phaichayon
2026-06-15 11:19:31 +07:00
parent 89b39cad38
commit b8cd39eaa4
55 changed files with 4295 additions and 1848 deletions

468
plans/task-b.1.md Normal file
View File

@@ -0,0 +1,468 @@
# Task B.1 Foundation Stabilization & Production Isolation
## Context
Task B Foundation Layer เสร็จแล้ว
ปัจจุบันระบบมี:
* Organization Context
* Membership Context
* Permission Layer
* Branch Scope
* Master Options
* Document Sequence
* Audit Log Helper
เป้าหมายของ Task B.1 คือทำให้ Foundation พร้อมใช้งานจริงก่อนเริ่ม Task C (Customer + Contact)
---
# สิ่งที่ต้องอ่านก่อน
อ่านและยึดตาม:
```txt
docs/implementation/task-a-template-audit.md
docs/implementation/task-b-template-audit.md
Layout.md
AGENTS.md
.agents/skills/kiranism-shadcn-dashboard
src/auth.ts
src/lib/auth/**
src/db/schema.ts
src/features/products/**
src/features/users/**
```
ใช้ products และ users เป็น production reference
---
# เป้าหมาย
ทำ 2 เรื่องหลัก:
1. Foundation Stabilization
2. Production Isolation
โดยยังไม่เริ่ม Customer Module
---
# Part A: Foundation Stabilization
## A.1 Review Foundation Tables
ตรวจสอบ schema ใหม่ที่เพิ่มจาก Task B
```txt
msOptions
documentSequences
trAuditLogs
```
ตรวจสอบ:
* unique constraint
* indexes
* foreign keys
* organizationId consistency
* soft delete support
หากพบจุดที่ควรปรับปรุง
ให้เขียนเป็น Migration Note
ห้ามแก้ schema โดยไม่จำเป็น
---
## A.2 Create Foundation Seed
สร้าง seed script
ตัวอย่าง path:
```txt
src/db/seeds/foundation.seed.ts
```
Seed เฉพาะ foundation data
### crm_branch
```txt
สำนักงานใหญ่
Factory
Service
```
### crm_customer_status
```txt
active
inactive
suspended
```
### crm_customer_type
```txt
company
individual
```
### crm_enquiry_status
```txt
new
qualifying
requirement
follow_up
converted
closed_lost
cancelled
```
### crm_quotation_status
```txt
draft
pending_approval
approved
rejected
sent
accepted
lost
cancelled
revised
```
### crm_product_type
```txt
crane
dockdoor
solarcell
```
### crm_currency
```txt
THB
USD
EUR
```
### crm_payment_term
```txt
cash
credit_30
credit_60
```
### crm_priority
```txt
low
normal
high
urgent
```
### crm_lead_channel
```txt
website
referral
sales
facebook
line
other
```
---
## A.3 Seed Document Sequences
Seed initial document types
```txt
customer
contact
enquiry
quotation
approval
```
Mapping
```txt
CUS
CON
ENQ
QT
APV
```
Requirements:
* idempotent
* run ซ้ำได้
* ไม่สร้างข้อมูลซ้ำ
* ใช้ organizationId จาก database
* ห้าม hardcode organizationId
หากไม่พบ organization
ให้ throw error พร้อมข้อความชัดเจน
---
## A.4 Verify Foundation Services
ตรวจสอบ service ที่สร้างใน Task B
```txt
auth-context
organization-context
permission
branch-scope
master-options
document-sequence
audit-log
```
ตรวจสอบ:
* naming consistency
* return type consistency
* error handling
* organization-first design
หากพบปัญหา
ให้แก้เฉพาะ foundation layer
---
# Part B: Production Isolation
## เป้าหมาย
แยก legacy CRM mock ออกจาก production path
เพื่อให้ Task C เริ่มบน production architecture เท่านั้น
---
## B.1 Audit Existing CRM Module
ตรวจสอบ
```txt
src/features/crm/**
src/app/dashboard/crm/**
```
จำแนกเป็น:
### Production-ready
ใช้ต่อได้
### Legacy Mock
ยังใช้
* mock data
* in-memory state
* placeholder service
* fake API
---
## B.2 Move Mock Out of Production Path
ห้ามลบไฟล์
ให้ย้ายไป:
```txt
src/features/crm-mock/**
```
หรือ
```txt
src/features/crm-demo/**
```
แล้วแต่ convention ที่เหมาะกับโปรเจ็ค
---
## B.3 Route Isolation
Production route:
```txt
/dashboard/crm
```
Mock route:
```txt
/dashboard/crm-demo
```
Requirements:
* ห้าม production route import mock service
* ห้าม production route import mock API
* ห้าม production component พึ่ง mock state
---
## B.4 Import Audit
ตรวจสอบ import ทั้งระบบ
ค้นหา:
```txt
mock-api
mock-api-users
crm mock service
fake data
in-memory store
```
ถ้ายังถูก import ใน production path
ให้แก้
---
## B.5 Compile Error Cleanup
แก้เฉพาะ:
```txt
type errors
missing imports
unused exports
broken references
```
ห้าม:
* เปลี่ยน business flow
* rewrite CRM module
* เริ่ม Customer production
---
# Deliverables
สร้างเอกสาร
```txt
docs/implementation/task-b1-foundation-stabilization.md
```
ต้องมี:
## Foundation Review
* schema review
* seed review
* service review
## Production Isolation Review
* production modules
* demo modules
* route separation
## Risks
* remaining mock dependencies
* migration concerns
## Task C Readiness
---
# ห้ามทำ
```txt
Customer CRUD
Contact CRUD
Enquiry CRUD
Quotation CRUD
Approval Workflow
Dashboard KPI
PDF Generator
Reporting
Notification
```
---
# ห้ามรัน
```txt
npm run build
npm run lint
npm run test
pnpm build
pnpm lint
pnpm test
```
จนกว่าจะได้รับคำสั่ง
---
# Output ที่ต้องการ
หลังทำเสร็จให้สรุป:
1. Files Added
2. Files Modified
3. Seed Scripts Added
4. Mock Modules Moved
5. Production Routes Verified
6. Remaining Risks
7. Task C Readiness
---
# Definition of Done
✔ Foundation tables reviewed
✔ Foundation seed script created
✔ Document sequence seed created
✔ Foundation services reviewed
✔ Mock CRM isolated from production path
✔ Production route no longer depends on mock services
✔ Compile issues related to isolation fixed
✔ Task C can begin safely
✔ No Customer module created
✔ No Quotation module created