# ð ïļ Implementation Specification > **āđāļāļ§āļāļēāļāļāļēāļĢāļāļąāļŽāļāļēāđāļĨāļ°āļĄāļēāļāļĢāļāļēāļāļāļēāļāđāļāļāļāļīāļāļāļāļāļĢāļ°āļāļ LCBP3-DMS** > > āđāļāļāļŠāļēāļĢāļāļļāļāļāļĩāđāļĢāļ§āļāļĢāļ§āļĄāļĄāļēāļāļĢāļāļēāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ āđāļāļ§āļāļēāļāļāļēāļĢāļāļąāļāļāļē āđāļĨāļ°āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļēāļĢāļāļģāļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄāđāļāđāļāđāļāļēāļāļāļĢāļīāļ āļāļąāđāļāđāļāļŠāđāļ§āļāļāļāļ Backend āđāļĨāļ° Frontend --- ## ð Document Status | Attribute | Value | | ------------------ | -------------------------------- | | **Version** | 1.7.0 | | **Status** | Active | | **Last Updated** | 2025-12-18 | | **Owner** | Nattanin Peancharoen | | **Classification** | Internal Technical Documentation | --- ## ð Table of Contents - [āļŦāļĨāļąāļāļāļēāļĢāļāļąāļāļāļēāļŦāļĨāļąāļ (Core Principles)](#-āļŦāļĨāļąāļāļāļēāļĢāļāļąāļāļāļēāļŦāļĨāļąāļ-core-principles) - [āļāļđāđāļĄāļ·āļāļāļēāļĢāļāļąāļāļāļē (Implementation Guides)](#-āļāļđāđāļĄāļ·āļāļāļēāļĢāļāļąāļāļāļē-implementation-guides) - [āļĄāļēāļāļĢāļāļēāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ (Coding Standards)](#-āļĄāļēāļāļĢāļāļēāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ-coding-standards) - [Technology Stack Recap](#-technology-stack-recap) - [Testing Strategy](#-testing-strategy) - [Related Documents](#-related-documents) --- ## ðŊ āļŦāļĨāļąāļāļāļēāļĢāļāļąāļāļāļēāļŦāļĨāļąāļ (Core Principles) āđāļāļ·āđāļāđāļŦāđāļĢāļ°āļāļāļĄāļĩāļāļ§āļēāļĄāļĄāļąāđāļāļāļ āļĒāļ·āļāļŦāļĒāļļāđāļ āđāļĨāļ°āļāļđāđāļĨāļĢāļąāļāļĐāļēāļāđāļēāļĒ āļāļēāļĢāļāļąāļāļāļēāļāđāļāļāļĒāļķāļāļŦāļĨāļąāļāļāļēāļĢāļāļąāļāļāļĩāđ: 1. **Type Safety Everywhere** - āđāļāđ TypeScript āļāļĒāđāļēāļāđāļāđāļĄāļāļ§āļ āļŦāđāļēāļĄāđāļāđ `any` 2. **Modular Dependency** - āđāļĒāļ Logic āļāļēāļĄ Module āļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļ Circular Dependency 3. **Idempotency** - āļāļēāļĢāļŠāļĢāđāļēāļāļŦāļĢāļ·āļāđāļāđāđāļāļāđāļāļĄāļđāļĨāļāđāļāļāļĢāļāļāļĢāļąāļāļāļēāļĢāļāļāļāđāļģāđāļāđ (Idempotency-Key) 4. **Security by Default** - āļāļĢāļ§āļāļŠāļāļ Permission (RBAC) āđāļĨāļ° Validation āđāļāļāļļāļ Endpoint 5. **Fail Fast & Log Everything** - āļāļąāļāļāļąāļ Error āļāļąāđāļāđāļāđāđāļāļīāđāļāđ āđāļĨāļ°āļāļąāļāļāļķāļ Audit Logs āļāļĩāđāļŠāļģāļāļąāļ --- ## ð āļāļđāđāļĄāļ·āļāļāļēāļĢāļāļąāļāļāļē (Implementation Guides) ### 1. [FullStack JS Guidelines](./03-01-fullftack-js-v1.7.0.md) **āđāļāļ§āļāļēāļāļāļēāļĢāļāļąāļāļāļēāļ āļēāļāļĢāļ§āļĄāļāļąāđāļāļĢāļ°āļāļ (v1.7.0)** - āđāļāļĢāļāļŠāļĢāđāļēāļāđāļāļĢāđāļāļāļāđ (Monorepo-like focus) - Naming Conventions & Code Style - Secrets & Environment Management - Two-Phase File Storage Algorithm - Double-Lock Mechanism for Numbering ### 2. [Backend Guidelines](./03-02-backend-guidelines.md) **āđāļāļ§āļāļēāļāļāļēāļĢāļāļąāļāļāļē NestJS Backend** - Modular Architecture Detail - DTO Validation & Transformer - TypeORM Best Practices & Optimistic Locking - JWT Authentication & CASL Authorization - BullMQ for Background Jobs ### 3. [Frontend Guidelines](./03-03-frontend-guidelines.md) **āđāļāļ§āļāļēāļāļāļēāļĢāļāļąāļāļāļē Next.js Frontend** - App Router Patterns - Shadcn/UI & Tailwind Styling - TanStack Query for Data Fetching - React Hook Form + Zod for Client Validation - API Client Interceptors (Auth & Idempotency) ### 4. [Document Numbering System](./03-04-document-numbering.md) **āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļēāļĢāļāļģāļĢāļ°āļāļāļāļāļāđāļĨāļāļāļĩāđāđāļāļāļŠāļēāļĢāđāļāđāļāđāļāļēāļ** - Table Schema: Templates, Counters, Audit - Double-Lock Strategy (Redis Redlock + Database VersionColumn) - Reservation Flow (Phase 1: Reserve, Phase 2: Confirm) - API Specs for Numbering Management --- ## ð§Š Testing Strategy āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļĒāļđāđāđāļāđāļāļāļŠāļēāļĢ: **[Testing Strategy](./03-05-testing-strategy.md)** - **Unit Testing:** NestJS (Jest), React (Vitest) - **Integration Testing:** API Endpoints (Supertest) - **E2E Testing:** Playwright āļŠāļģāļŦāļĢāļąāļ Critical Flows - **Special Tests:** Concurrency Tests āļŠāļģāļŦāļĢāļąāļ Document Numbering --- ## ð ïļ Technology Stack Recap | Layer | Primary Technology | Secondary/Supporting | | ------------ | ------------------ | -------------------- | | **Backend** | NestJS (Node.js) | TypeORM, BullMQ | | **Frontend** | Next.js 14+ | Shadcn/UI, Tailwind | | **Database** | MariaDB 11.8 | Redis 7 (Cache/Lock) | | **Search** | Elasticsearch | - | | **Testing** | Jest, Vitest | Playwright | --- ## ð Related Documents - ð [Requirements Specification](../01-requirements/README.md) - ðïļ [Architecture Specification](../02-architecture/README.md) - ð [Operations Specification](../04-operations/README.md) - ðŊ [Active Tasks](../06-tasks/README.md) ---