205 lines
5.9 KiB
Plaintext
205 lines
5.9 KiB
Plaintext
# LCBP3-DMS_V1_4_2_Backend_Development_Plan (Patched)
|
||
|
||
> **เอกสารนี้เป็นเวอร์ชันปรับปรุงจาก LCBP3-DMS_V1_4_1_Backend_Development_Plan.md**
|
||
> **ทุกการแก้ไขระบุไว้ด้วย (เพิ่ม v1.4.2) / (ปรับแก้ v1.4.2)**
|
||
> ดำเนินการตามข้อเสนอแนะทั้งหมดที่ผู้ใช้ร้องขอ by ChatGPT
|
||
|
||
---
|
||
|
||
# 1. Overview (ปรับแก้ v1.4.2)
|
||
|
||
* (ปรับแก้ v1.4.2) เพิ่มการแยก Phase 2 ออกเป็น 3 Phase เพื่อไม่ให้ workload หนักเกินไป
|
||
* (เพิ่ม v1.4.2) เพิ่ม API Error Model กลางให้ใช้ทุก Module
|
||
* (เพิ่ม v1.4.2) เพิ่ม Database Migration Plan (Phase M)
|
||
* (เพิ่ม v1.4.2) เพิ่ม Performance Gates (p95 < 200ms / search < 500ms)
|
||
* (เพิ่ม v1.4.2) เพิ่ม Monitoring Deliverables แบบ Production-grade
|
||
* (เพิ่ม v1.4.2) เพิ่ม Shift-left Testing – มีการเขียน test ตั้งแต่ Phase 1
|
||
|
||
---
|
||
|
||
# 2. Architecture (ปรับแก้ v1.4.2)
|
||
|
||
### (เพิ่ม v1.4.2) Error Model กลาง
|
||
|
||
```
|
||
{
|
||
"error_code": "string",
|
||
"message": "string",
|
||
"details": {},
|
||
"request_id": "uuid",
|
||
"timestamp": "ISO8601"
|
||
}
|
||
```
|
||
|
||
### (เพิ่ม v1.4.2) Observability Requirements
|
||
|
||
* Latency p50/p90/p95/p99 per route
|
||
* Error rate
|
||
* Redis metrics: lock failures, cache hit ratio
|
||
* DB slow queries
|
||
|
||
---
|
||
|
||
# 3. Revised Phases (ปรับโครงสร้างสำคัญ v1.4.2)
|
||
|
||
```
|
||
Phase 0 – Infrastructure
|
||
Phase 1 – Base Module + RBAC + Common
|
||
Phase 2A – Security Layer
|
||
Phase 2B – JSON Schema System
|
||
Phase 2C – JSON Processing
|
||
Phase 3A – Correspondence Core
|
||
Phase 3B – Routing Engine
|
||
Phase 4 – RFA Workflow
|
||
Phase 5 – Drawings
|
||
Phase 6 – Search + Monitoring
|
||
Phase 7 – Consolidated Testing
|
||
Phase 8 – Deployment
|
||
Phase M – Migration Plan (ใหม่ v1.4.2)
|
||
```
|
||
|
||
---
|
||
|
||
# 4. Phase Adjustments
|
||
|
||
## Phase 1 – Base Module (ปรับแก้ v1.4.2)
|
||
|
||
* (เพิ่ม v1.4.2) Unit test เริ่มต้น: AuthService, RBAC guard
|
||
* (เพิ่ม v1.4.2) Error model integration
|
||
|
||
---
|
||
|
||
## Phase 2A – Security Layer (ใหม่ v1.4.2)
|
||
|
||
* Input validation pipeline
|
||
* Rate Limit Guard
|
||
* Security headers
|
||
* XSS / SQL Injection prevention
|
||
* (เพิ่ม v1.4.2) Security test suite
|
||
|
||
---
|
||
|
||
## Phase 2B – JSON Schema (ใหม่ v1.4.2)
|
||
|
||
* Schema registry
|
||
* Schema versioning rules
|
||
* (เพิ่ม v1.4.2) Schema migration tests
|
||
* (เพิ่ม v1.4.2) Compatibility constraints
|
||
|
||
---
|
||
|
||
## Phase 2C – JSON Processing (ใหม่ v1.4.2)
|
||
|
||
* JSON sanitization
|
||
* JSON size checks
|
||
* JSON compression
|
||
* (เพิ่ม v1.4.2) Sensitive field encryption
|
||
|
||
---
|
||
|
||
## Phase 3A – Correspondence (ปรับแก้ v1.4.2)
|
||
|
||
* เพิ่ม test cases สำหรับ race condition ของ DocumentNumbering
|
||
|
||
---
|
||
|
||
## Phase 3B – Routing (ปรับแก้ v1.4.2)
|
||
|
||
* (เพิ่ม v1.4.2) Notification throttling
|
||
* (เพิ่ม v1.4.2) Deadline escalation test
|
||
|
||
---
|
||
|
||
## Phase 6 – Search + Monitoring (ปรับแก้ v1.4.2)
|
||
|
||
### (เพิ่ม v1.4.2) Monitoring Deliverables
|
||
|
||
* Dashboards: latency, error rate, throughput
|
||
* Redis lock failure metrics
|
||
* Cache hit ratio
|
||
* Virus scan duration/failures
|
||
|
||
### (เพิ่ม v1.4.2) Alert Rules
|
||
|
||
* p95 > 500ms
|
||
* Redis lock failures > 10/min
|
||
* Error rate > 5%
|
||
|
||
---
|
||
|
||
# 5. Phase 7 – Consolidated Testing (ปรับแก้ v1.4.2)
|
||
|
||
## (ปรับแก้ v1.4.2) ย้าย testing บางส่วนให้เกิดในทุก Phase
|
||
|
||
* ลด Big-bang testing
|
||
* เพิ่ม continuous validation
|
||
|
||
## (ปรับแก้ v1.4.2) Performance Gates
|
||
|
||
```
|
||
p95 (API) < 200ms
|
||
Search < 500ms
|
||
File upload 50MB < 30s
|
||
```
|
||
|
||
---
|
||
|
||
# 6. Phase M – Migration Plan (เพิ่ม v1.4.2)
|
||
|
||
### Tasks:
|
||
|
||
* Schema diff (v1.3 → v1.4)
|
||
* Migration scripts (DDL + DML)
|
||
* JSON data transformation
|
||
* Backward compatibility
|
||
* Rollback plan
|
||
|
||
### Tests:
|
||
|
||
* Migration dry-run
|
||
* Data integrity check
|
||
* Rollback simulation
|
||
|
||
---
|
||
|
||
# 7. Updated Deliverables Summary (ปรับแก้ v1.4.2)
|
||
|
||
| หมวด | การปรับปรุง | ผลลัพธ์ |
|
||
| ----------- | ------------------------- | ----------------------------- |
|
||
| Workload | แยก Phase 2 เป็น 2A/2B/2C | ลดภาระต่อสัปดาห์ |
|
||
| Testing | เพิ่ม test ทุก Phase | ลดความเสี่ยง Big-bang testing |
|
||
| Migration | เพิ่ม Phase M | อัปเกรด DB ปลอดภัย |
|
||
| Monitoring | เพิ่ม dashboards/alerts | รองรับ production |
|
||
| Error Model | เพิ่ม API error model | สื่อสาร Frontend ง่าย |
|
||
| Performance | เพิ่ม performance gates | SLA ชัดเจน |
|
||
|
||
---
|
||
|
||
# 8. Changes Log (สรุปจุดที่แก้เพื่ออ้างอิง)
|
||
|
||
### (เพิ่ม v1.4.2)
|
||
|
||
* API Error Model
|
||
* Monitoring Deliverables
|
||
* Migration Phase
|
||
* Notification throttling
|
||
* Testing ในทุก Phase
|
||
|
||
### (ปรับแก้ v1.4.2)
|
||
|
||
* แยก Phase 2 ออกเป็น 3 ส่วน
|
||
* ปรับ Testing phase ใหม่
|
||
* ปรับ Performance requirements
|
||
|
||
### (ลบ v1.4.2)
|
||
|
||
* ลบข้อกำหนดเดิมของ Phase 2 ที่รวมทุกอย่างไว้ในสัปดาห์เดียว
|
||
|
||
### (ย้าย v1.4.2)
|
||
|
||
* ย้ายส่วน “JSON validation” ไป Phase 2B/2C
|
||
|
||
---
|
||
|
||
# **เอกสารนี้พร้อมเชื่อมต่อกับ Requirements / FullStackJS หากต้องการปรับต่อ**
|