Project Overview: LCBP3 Document Management System (V1.4.1)

นี่คือภาพรวมของระบบบริหารจัดการเอกสารโครงการ (DMS) V1.4.1 ที่กำลังพัฒนาสำหรับโครงการแหลมฉบังเฟส 3 (LCBP3) เป้าหมายหลักคือการสร้างเว็บแอปพลิเคชั่นที่ทันสมัย ปลอดภัย และมีประสิทธิภาพสูงเพื่อจัดการและควบคุมการสื่อสารด้วยเอกสารที่ซับซ้อน ลดการใช้กระดาษ และเพิ่มความสะดวกในการทำงานร่วมกันระหว่างองค์กร

Key Performance Indicators (KPIs)

API Response Time

< 200ms

(90th Percentile)

Search Performance

< 500ms

(Elasticsearch)

File Upload (50MB)

< 30s

(Inc. Virus Scan)

Cache Hit Ratio

> 80%

(Redis)

System Architecture & Technology Stack

สถาปัตยกรรมระบบเป็นแบบ API-First ที่ทำงานบน QNAP Container Station (Docker) โดยมีการแบ่งส่วนบริการ (Services) อย่างชัดเจน เพื่อความสะดวกในการจัดการและบำรุงรักษา

Internet User
QNAP (WAN)
Nginx Proxy Manager

Public Facing Services (ผ่าน NPM)

Frontend (Next.js)
Backend (NestJS)
Gitea (Git)
n8n (Automation)

Internal Services (Backend เรียกใช้)

MariaDB (Database)
Redis (Cache)
Elasticsearch (Search)
ClamAV (Virus Scan)

Development Roadmap

แผนการพัฒนาถูกแบ่งออกเป็น Phase (Backend) และ Sprints (Frontend) เพื่อให้สามารถส่งมอบงานได้อย่างต่อเนื่องและเป็นระบบ

Backend (NestJS)

Phase 0-1: Setup & Core

Infrastructure, DB Schema, ORM

Phase 2-3: Auth & RBAC

JWT, Passport, CASL 4-Level

Phase 4-5: Core Features

Document Upload, RFA Workflow

Phase 6-8: Integration & Deploy

Search, Cache, Notification, Deploy

Frontend (Next.js)

Sprint 1-2: Setup & Auth

shadcn/ui, NextAuth, Layout

Sprint 3: Dashboard

Charts (Recharts), KPIs

Sprint 4-5: Document Module

TanStack Table, Upload, Search

Sprint 6-7: Workflow & Deploy

RFA Forms, Testing, Deploy

Feature Focus: 4-Level RBAC

ระบบควบคุมสิทธิ์ (RBAC) เป็นหัวใจสำคัญของความปลอดภัย โดยใช้สถาปัตยกรรม 4 ระดับ (4-Level) เพื่อการควบคุมที่ละเอียดสูงสุด

🌍 Level 1: Global

(Super Admin, System Settings)

🏢 Level 2: Organization

(Org Admin, Manage Users & Projects)

🏗️ Level 3: Project

(Project Manager, View All Project Docs)

📄 Level 4: Contract

(Contractor, Access Own Contract Docs Only)

Document Statistics (Mockup Data)

Dashboard จะแสดงสถิติเอกสารแบบ Real-time (อ้างอิงจาก View: `v_document_statistics` ในฐานข้อมูล) เพื่อช่วยในการติดตามและบริหารจัดการโครงการ

เอกสารตามประเภท (By Type)

แสดงจำนวนเอกสารทั้งหมดโดยแบ่งตามประเภทหลัก ช่วยให้เห็นภาพรวมของเอกสารในระบบ

สถานะเอกสาร (By Status)

แสดงสัดส่วนของสถานะเอกสารในปัจจุบัน (เช่น ร่าง, รออนุมัติ, อนุมัติแล้ว) เพื่อติดตาม Workflow