Files
lcbp3/specs/00-overview/README.md
2025-12-03 01:16:27 +07:00

13 KiB

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

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

  1. Centralize Document Management - Single source of truth for all project documents
  2. Streamline Workflows - Automated routing and approval processes
  3. Improve Collaboration - Real-time access for all stakeholders
  4. Ensure Compliance - Audit trails and document version control
  5. 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 10.11
  • 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

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

  1. ADR-001: Unified Workflow Engine
  2. ADR-002: Document Numbering Strategy
  3. ADR-003: Two-Phase File Storage
  4. ADR-004: RBAC Implementation
  5. ADR-005: Technology Stack

🚀 Getting Started

For Developers

  1. Read Documentation

  2. Setup Development Environment

    • Clone repository
    • Install Docker & Docker Compose
    • Run docker-compose up
    • Access backend: http://localhost:3000
    • Access frontend: http://localhost:3001
  3. Start Coding

    • Pick a task from Backend Tasks
    • Follow coding guidelines
    • Write tests
    • Submit PR for review

For Operations Team

  1. Infrastructure Setup

  2. Deployment

  3. Maintenance


👥 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


📝 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.6.0 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! 🚀