161 lines
4.9 KiB
Plaintext
161 lines
4.9 KiB
Plaintext
# LCBP3-DMS_V1_4_2_FullStackJS (Patched)
|
|
|
|
> เอกสารนี้เป็นเวอร์ชันปรับปรุงจาก LCBP3-DMS_V1_4_1_FullStackJS.md
|
|
> มีการระบุจุดแก้ไขด้วย (เพิ่ม v1.4.2) / (ปรับแก้ v1.4.2) / (ลบ v1.4.2) / (ย้าย v1.4.2)
|
|
by ChatGPT
|
|
|
|
---
|
|
|
|
# 1. Overview (ปรับแก้ v1.4.2)
|
|
|
|
* (เพิ่ม v1.4.2) รองรับ Error Model กลางจาก Backend
|
|
* (เพิ่ม v1.4.2) รองรับ request_id ในทุก API response เพื่อใช้ debug / trace
|
|
* (เพิ่ม v1.4.2) เพิ่มส่วน Performance Considerations ให้สอดคล้อง backend
|
|
|
|
---
|
|
|
|
# 2. Frontend Architecture (ปรับแก้ v1.4.2)
|
|
|
|
* (เพิ่ม v1.4.2) แยก service layer สำหรับ Schema Registry
|
|
* (เพิ่ม v1.4.2) เพิ่ม observability hooks: latency, error rate per component
|
|
|
|
### 2.3 State Management
|
|
|
|
* (เพิ่ม v1.4.2) เพิ่ม standardized error state จาก Error Model ใหม่
|
|
|
|
### 2.4 API Client
|
|
|
|
* (เพิ่ม v1.4.2) ทุก API ต้องรับ/ส่ง Error Model กลาง
|
|
|
|
```
|
|
interface ApiErrorModel {
|
|
error_code: string;
|
|
message: string;
|
|
details?: any;
|
|
request_id: string;
|
|
timestamp: string;
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
# 3. UI Components (ปรับแก้ v1.4.2)
|
|
|
|
### 3.2 Form Components
|
|
|
|
* (เพิ่ม v1.4.2) รองรับ JSON Schema-based forms (โยงกับ Phase 2B/2C)
|
|
* (เพิ่ม v1.4.2) รองรับ sanitization ก่อนส่งข้อมูล
|
|
|
|
### 3.4 Table Components
|
|
|
|
* (เพิ่ม v1.4.2) รองรับ observation: render time, event latency
|
|
|
|
### 3.6 Notification Components
|
|
|
|
* (เพิ่ม v1.4.2) รองรับ throttling rules
|
|
* (เพิ่ม v1.4.2) เพิ่ม Escalation UI indicator (เช่น Critical/Warning)
|
|
|
|
---
|
|
|
|
# 4. Pages (ปรับแก้ v1.4.2)
|
|
|
|
## 4.1 Login Page
|
|
|
|
* (เพิ่ม v1.4.2) ต้องรองรับ error_code เฉพาะทาง เช่น `AUTH.INVALID_CREDENTIALS`
|
|
|
|
## 4.3 Dashboard
|
|
|
|
* (เพิ่ม v1.4.2) เพิ่ม widget สำหรับ Monitoring: latency, error rate
|
|
|
|
## 4.6 Correspondence
|
|
|
|
* (เพิ่ม v1.4.2) Document numbering UI ต้องคำสั่ง retry/fallback
|
|
* (เพิ่ม v1.4.2) UI แจ้งเตือนเมื่อมี lock failure
|
|
|
|
## 4.7 RFA Workflow
|
|
|
|
* (เพิ่ม v1.4.2) แสดง deadline escalation (Critical/Warning)
|
|
* (เพิ่ม v1.4.2) รองรับ notification throttling จาก Backend
|
|
|
|
---
|
|
|
|
# 5. API Integration Rules (ปรับแก้ v1.4.2)
|
|
|
|
## 5.1 Error Handling
|
|
|
|
* (เพิ่ม v1.4.2) Frontend ต้อง map error_code → UI message
|
|
* (เพิ่ม v1.4.2) ทุก API call ต้องมี logging request_id
|
|
|
|
## 5.2 Permissions
|
|
|
|
* (เพิ่ม v1.4.2) RBAC ใน UI ต้องรวมสิทธิ์แบบ Most Permissive
|
|
|
|
## 5.3 Data Fetching Policies
|
|
|
|
* (เพิ่ม v1.4.2) แยก cache rules ต่อ endpoint
|
|
* (เพิ่ม v1.4.2) รองรับ background refresh สำหรับ heavy endpoints เช่น search
|
|
|
|
---
|
|
|
|
# 6. Performance Requirements (เพิ่ม v1.4.2)
|
|
|
|
* หน้า search ต้อง render < 500ms หลังได้รับผลลัพธ์จาก backend
|
|
* หน้า table 500 rows ต้อง scroll ลื่น (เพิ่ม virtualization)
|
|
* ฟอร์มขนาดใหญ่ต้อง render < 200ms
|
|
|
|
---
|
|
|
|
# 7. Testing Requirements (ปรับแก้ v1.4.2)
|
|
|
|
## 7.1 Unit Tests
|
|
|
|
* (เพิ่ม v1.4.2) Test Error Model mapping
|
|
* (เพิ่ม v1.4.2) Test JSON form generation จาก Schema Registry
|
|
|
|
## 7.2 Integration Tests
|
|
|
|
* (เพิ่ม v1.4.2) ทดสอบ throttling
|
|
* (เพิ่ม v1.4.2) ทดสอบ deadline escalation UI
|
|
|
|
## 7.3 E2E Tests
|
|
|
|
* (เพิ่ม v1.4.2) Flow test: Correspondence + Numbering fallback
|
|
* (เพิ่ม v1.4.2) Flow test: RFA Workflow + escalation
|
|
|
|
---
|
|
|
|
# 8. Migration Requirements (ใหม่ v1.4.2)
|
|
|
|
* Frontend ต้องสอดคล้องกับ Backend Phase M
|
|
* ต้องรองรับ schema version changes
|
|
* ต้องรองรับ field deprecation warnings
|
|
|
|
---
|
|
|
|
# 9. Summary of Changes (v1.4.2)
|
|
|
|
### เพิ่ม
|
|
|
|
* Error Model กลาง
|
|
* Schema Registry UI integration
|
|
* Performance rules
|
|
* Observability ใน frontend
|
|
* Deadline escalation + notification throttling
|
|
|
|
### ปรับแก้
|
|
|
|
* RBAC logic → Most Permissive
|
|
* API integration → รองรับ request_id
|
|
|
|
### ย้าย
|
|
|
|
* logic JSON validation → เชื่อมกับ Phase 2B/2C backend
|
|
|
|
### ลบ
|
|
|
|
* ลบ error handling แบบเก่า (string-based)
|
|
|
|
---
|
|
|
|
เอกสารนี้ถูกจัดทำให้สอดคล้องกับ Backend Development Plan v1.4.2 และ Requirements v1.4.2
|