# {{project_name}} Schema Definition > PDCA Schema Document - 데이터 구조 및 용어 정의 **Version**: 1.0 **Created**: {{date}} **Level**: {{level}} --- ## 1. Terminology (용어 정의) | Term | Definition | Original | Notes | |------|------------|----------|-------| | User | 시스템 사용자 | 사용자 | | | | | | | --- ## 2. Entity Overview | Entity | Description | Key Fields | |--------|-------------|------------| | User | 사용자 정보 | id, email, name | | | | | --- ## 3. Entity Details ### 3.1 User **Description**: 시스템 사용자 엔티티 **Fields**: | Field | Type | Required | Description | |-------|------|----------|-------------| | id | string | Y | UUID | | email | string | Y | 이메일 (unique) | | name | string | Y | 표시 이름 | | createdAt | datetime | Y | 생성일시 | | updatedAt | datetime | Y | 수정일시 | **Relationships**: - 1:N → Post (작성한 글) ### 3.2 {{Entity2}} **Description**: **Fields**: | Field | Type | Required | Description | |-------|------|----------|-------------| | id | string | Y | UUID | | | | | | --- ## 4. Entity Relationships ``` ┌─────────┐ 1:N ┌─────────┐ │ User │─────────────→ │ Post │ └─────────┘ └─────────┘ │ │ 1:N ▼ ┌─────────┐ │ Comment │ └─────────┘ ``` --- ## 5. Type Definitions (TypeScript) ```typescript // types/user.ts export interface User { id: string email: string name: string createdAt: Date updatedAt: Date } // types/api.ts export interface ApiResponse { data: T meta?: { total?: number page?: number } } export interface ApiError { error: { code: string message: string details?: Record } } ``` --- ## 6. Error Codes | Code | Description | HTTP Status | |------|-------------|-------------| | VALIDATION_ERROR | 입력값 검증 실패 | 400 | | UNAUTHORIZED | 인증 필요 | 401 | | FORBIDDEN | 권한 없음 | 403 | | NOT_FOUND | 리소스 없음 | 404 | | CONFLICT | 중복/충돌 | 409 | | INTERNAL_ERROR | 서버 오류 | 500 | --- ## Validation Checklist - [ ] 모든 주요 용어 정의됨 - [ ] 핵심 Entity 정의됨 - [ ] Entity 관계 명확함 - [ ] TypeScript 타입 정의됨 - [ ] Error codes 정의됨 --- *Generated by hmcmkit PDCA System*