LCBP3-DMS - Project Overview
Project Name: Laem Chabang Port Phase 3 - Document Management System (LCBP3-DMS) Version: 1.5.1 Status: Planning & Specification Phase Last Updated: 2025-12-02
📋 Table of Contents
- Project Introduction
- Key Features
- Technology Stack
- Project Structure
- Quick Links
- Getting Started
- Team & Stakeholders
🎯 Project Introduction
LCBP3-DMS is a comprehensive Document Management System (DMS) designed specifically for the Laem Chabang Port Phase 3 construction project. The system manages construction documents, workflows, approvals, and communications between multiple organizations including port authority, consultants, contractors, and third parties.
Project Objectives
- Centralize Document Management - Single source of truth for all project documents
- Streamline Workflows - Automated routing and approval processes
- Improve Collaboration - Real-time access for all stakeholders
- Ensure Compliance - Audit trails and document version control
- Enhance Efficiency - Reduce paper-based processes and manual routing
Project Scope
In Scope:
- Correspondence Management (Letters & Communications)
- RFA (Request for Approval) Management
- Drawing Management (Contract & Shop Drawings)
- Workflow Engine (Approvals & Routing)
- Document Numbering System
- File Storage & Management
- Search & Reporting
- User & Access Management
- Audit Logs & Notifications
Out of Scope:
- Financial Management & Billing
- Procurement & Material Management
- Project Scheduling (Gantt Charts)
- HR & Payroll Systems
- Mobile App (Phase 1 only)
✨ Key Features
📨 Correspondence Management
- Create, review, and track official letters
- Master-Revision pattern for version control
- Multi-level approval workflows
- Attachment management
- Automatic document numbering
📋 RFA Management
- Submit requests for approval
- Item-based RFA structure
- Response tracking (Approved/Approved with Comments/Rejected)
- Revision management
- Integration with workflow engine
📐 Drawing Management
- Contract Drawings (แบบคู่สัญญา)
- Shop Drawings (แบบก่อสร้าง) with revisions
- Version control & comparison
- Drawing linking and references
⚙️ Workflow Engine
- DSL-based workflow configuration
- Dynamic routing based on rules
- Parallel & sequential approvals
- Escalation & timeout handling
- Workflow history & audit trail
🗄️ Document Numbering
- Automatic number generation
- Template-based formatting
- Discipline-specific numbering
- Concurrent request handling (Double-lock mechanism)
- Annual reset support
🔍 Search & Discovery
- Full-text search (Elasticsearch)
- Advanced filtering
- Document metadata search
- Quick access to recent documents
🔐 Security & Access Control
- 4-Level Hierarchical RBAC (Global/Organization/Project/Contract)
- JWT-based authentication
- Permission-based access control
- Audit logging
- Session management
📧 Notifications
- Multi-channel (Email, LINE Notify, In-app)
- Workflow event notifications
- Customizable user preferences
- Async delivery (Queue-based)
🛠️ Technology Stack
Backend
- Framework: NestJS (TypeScript)
- Database: MariaDB 11.8
- Cache & Queue: Redis 7.2
- Search: Elasticsearch 8.11
- ORM: TypeORM
- Authentication: JWT (JSON Web Tokens)
- Authorization: CASL (4-Level RBAC)
- File Processing: ClamAV (Virus Scanning)
- Queue: BullMQ
Frontend
- Framework: Next.js 14+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Shadcn/UI
- State Management: React Context / Zustand
- Forms: React Hook Form + Zod
- API Client: Axios
Infrastructure
- Deployment: Docker & Docker Compose
- Platform: QNAP Container Station
- Reverse Proxy: NGINX
- Logging: Winston
- Monitoring: Health Checks + Log Aggregation
📁 Project Structure
lcbp3/
├── backend/ # NestJS Backend Application
│ ├── src/
│ │ ├── modules/ # Feature modules
│ │ ├── common/ # Shared utilities
│ │ ├── config/ # Configuration
│ │ └── migrations/ # Database migrations
│ ├── test/ # Tests
│ └── package.json
│
├── frontend/ # Next.js Frontend Application
│ ├── app/ # App router pages
│ ├── components/ # React components
│ ├── lib/ # Utilities
│ └── package.json
│
├── docs/ # Source documentation
│ ├── 0_Requirements_V1_4_5.md
│ ├── 1_FullStackJS_V1_4_5.md
│ ├── 2_Backend_Plan_V1_4_4.md
│ ├── 3_Frontend_Plan_V1_4_4.md
│ └── 4_Data_Dictionary_V1_4_5.md
│
├── specs/ # Technical Specifications
│ ├── 00-overview/ # Project overview & glossary
│ ├── 01-requirements/ # Functional requirements
│ ├── 02-architecture/ # System architecture
│ ├── 03-implementation/ # Implementation guidelines
│ ├── 04-operations/ # Deployment & operations
│ ├── 05-decisions/ # Architecture Decision Records (ADRs)
│ └── 06-tasks/ # Development tasks
│
├── docker-compose.yml # Docker services configuration
└── README.md # Project README
🔗 Quick Links
Documentation
| Category | Document | Description |
|---|---|---|
| Overview | Glossary | Technical terminology & abbreviations |
| Overview | Quick Start | 5-minute getting started guide |
| Requirements | Functional Requirements | Feature specifications |
| Requirements | Document Numbering | Document numbering requirements |
| Architecture | System Architecture | Overall system design |
| Architecture | Data Model | Database schema |
| Architecture | API Design | REST API specifications |
| Implementation | Backend Guidelines | Backend coding standards |
| Implementation | Frontend Guidelines | Frontend coding standards |
| Implementation | Document Numbering Implementation | Document numbering implementation |
| Implementation | Testing Strategy | Testing approach |
| Operations | Deployment Guide | How to deploy |
| Operations | Monitoring | Monitoring & alerts |
| Operations | Document Numbering Operations | Doc numbering ops guide |
| Decisions | ADR Index | Architecture decisions |
| Tasks | Backend Tasks | Development tasks |
Key ADRs
- ADR-001: Unified Workflow Engine
- ADR-002: Document Numbering Strategy
- ADR-003: Two-Phase File Storage
- ADR-004: RBAC Implementation
- ADR-005: Technology Stack
🚀 Getting Started
For Developers
-
Read Documentation
- Start with Quick Start Guide
- Review System Architecture
- Study Backend / Frontend guidelines
-
Setup Development Environment
- Clone repository
- Install Docker & Docker Compose
- Run
docker-compose up - Access backend:
http://localhost:3000 - Access frontend:
http://localhost:3001
-
Start Coding
- Pick a task from Backend Tasks
- Follow coding guidelines
- Write tests
- Submit PR for review
For Operations Team
-
Infrastructure Setup
- Review Environment Setup
- Configure QNAP Container Station
- Setup Docker Compose
-
Deployment
- Follow Deployment Guide
- Configure Backup & Recovery
- Setup Monitoring
-
Maintenance
- Review Maintenance Procedures
- Setup Incident Response
- Configure Security Operations
👥 Team & Stakeholders
Project Team
- System Architect: Nattanin Peancharoen
- Backend Team Lead: [Name]
- Frontend Team Lead: [Name]
- DevOps Engineer: [Name]
- QA Lead: [Name]
- Database Administrator: [Name]
Stakeholders
- Port Authority of Thailand (กทท.) - Owner
- Project Supervisors (สค©.) - Consultants
- Design Consultants (TEAM) - Designers
- Construction Supervisors (คคง.) - Supervision
- Contractors (ผรม.1-4) - Construction
📊 Project Timeline
Phase 1: Foundation (Weeks 1-4)
- Database setup & migrations
- Authentication & RBAC
- Milestone: User can login
Phase 2: Core Infrastructure (Weeks 5-10)
- User Management & Master Data
- File Storage & Document Numbering
- Workflow Engine
- Milestone: Core services ready
Phase 3: Business Modules (Weeks 11-17)
- Correspondence Management
- RFA Management
- Milestone: Core documents manageable
Phase 4: Supporting Modules (Weeks 18-21)
- Drawing Management
- Circulation & Transmittal
- Search & Elasticsearch
- Milestone: Document ecosystem complete
Phase 5: Services (Week 22)
- Notifications & Audit Logs
- Milestone: MVP ready for UAT
Phase 6: Testing & Deployment (Weeks 23-24)
- User Acceptance Testing (UAT)
- Production deployment
- Milestone: Go-Live
📈 Success Metrics
Technical Metrics
- Uptime: > 99.5%
- API Response Time (P95): < 500ms
- Error Rate: < 1%
- Database Query Time (P95): < 100ms
Business Metrics
- User Adoption: > 90% of stakeholders using system
- Document Processing Time: 50% reduction vs manual
- Search Success Rate: > 95%
- User Satisfaction: > 4.0/5.0
🔐 Security & Compliance
- Data Encryption: At rest & in transit
- Access Control: 4-level RBAC
- Audit Logging: All user actions logged
- Backup: Daily automated backups
- Disaster Recovery: RTO 4h, RPO 24h
- Security Scanning: Automated vulnerability scans
📞 Support & Contact
Development Support
- Repository: [Internal Git Repository]
- Issue Tracker: [Internal Issue Tracker]
- Documentation: This repository
/specs
Operations Support
- Email: ops-team@example.com
- Phone: [Phone Number]
- On-Call: [On-Call Schedule]
📝 Document Control
- Version: 1.5.1
- Status: Active
- Last Updated: 2025-12-02
- Next Review: 2026-01-01
- Owner: System Architect
- Classification: Internal Use Only
🔄 Version History
| Version | Date | Description |
|---|---|---|
| 1.5.1 | 2025-12-02 | Reorganized documentation structure |
| 1.5.0 | 2025-12-01 | Complete specification with ADRs and tasks |
| 1.4.5 | 2025-11-30 | Updated architecture documents |
| 1.4.4 | 2025-11-29 | Initial backend/frontend plans |
| 1.0.0 | 2025-11-01 | Initial requirements |
Welcome to LCBP3-DMS Project! 🚀