# poster-ai-create-psd 문서화 프로젝트 진행 현황 > **프로젝트**: poster-ai-create-psd 문서화 > **시작일**: 2025-11-15 > **상태**: 1차 완료 > **소스**: git@github.com:planitaicojp/poster-ai-create-psd.git --- ## 프로젝트 개요 PowerShell 기반 PSD 포스터 자동 생성 시스템의 기술 문서, 사용자 가이드, 개발자 온보딩 문서를 통합하여 작성하는 프로젝트입니다. --- ## 작업 진행 과정 ### Phase 1: 프로젝트 분석 및 방향 설정 #### 1.1 소스 코드 분석 - **위치**: `poster/files/poster-ai-create-psd/` - **주요 파일 확인**: - README.md (영문 사용자 가이드) - CLAUDE.md (개발 가이드라인) - prompts.md (한국어 프로젝트 설명) - specs/ 디렉토리 (Feature 001, 002, 003) - PowerShell 스크립트 (Create-PSD.ps1, PSD-Functions.ps1 등) #### 1.2 문서화 방향성 결정 (clarify.md) - **파일 생성**: `poster/20251115-doc-setup/clarify.md` - **주요 질문 항목**: 1. 문서화 목적: 기술 문서 + 사용자 가이드 + 개발자 온보딩 2. 대상 독자: 개발자, DevOps 엔지니어 3. 언어: 한국어 우선 4. 형식: Markdown (.md) 5. 기존 문서: 업데이트 및 보완 6. 타겟 환경: Windows (개발) / Linux (운영) - 크로스 플랫폼 7. Feature 003: 완료된 것으로 간주 8. 문서 구조: 통합 문서 (specs 구조 따르지 않음) 9. 코드 커버리지: 생략 10. 데이터 문서화: poster.csv 스키마 및 Aspose.PSD 라이선스 문서 필요 11. 배포: tkim.planitai.co.jp에 호스팅 #### 1.3 작업 계획 수립 (todo.md) - **파일 생성**: `poster/20251115-doc-setup/todo.md` - **9개 Phase 정의**: - Phase 1: 기초 조사 및 분석 - Phase 2: 아키텍처 문서 작성 - Phase 3: 사용자 가이드 작성 - Phase 4: 개발자 가이드 작성 - Phase 5: API 레퍼런스 작성 - Phase 6: 통합 기능 문서 작성 - Phase 7: 운영 및 트러블슈팅 가이드 - Phase 8: 문서 통합 및 검토 - Phase 9: 문서 배포 및 유지보수 --- ### Phase 2: 환경 설정 #### 2.1 디렉토리 구조 설정 ``` poster/20251115-doc-setup/ ├── clarify.md # 문서화 방향성 (답변 완료) ├── todo.md # 작업 계획 ├── doc_index.md # 문서 목차 (추가) ├── progress.md # 진행 현황 (이 파일) └── .htaccess # UTF-8 인코딩 설정 ``` #### 2.2 UTF-8 인코딩 설정 - **파일**: `.htaccess` - **내용**: - Markdown 파일 UTF-8 인코딩 강제 설정 - 디렉토리 리스팅 활성화 - 파일 설명 추가 #### 2.3 파일 권한 설정 ```bash # 소유자: www-data:www-data # 권한: 644 (파일), 755 (디렉토리) chown -R www-data:www-data poster/20251115-doc-setup/ chmod 644 poster/20251115-doc-setup/*.md chmod 755 poster/20251115-doc-setup/ ``` --- ### Phase 3: clarify.md 답변 반영 #### 3.1 사용자 답변 수집 - 문서화 목적: 기술 문서, 사용자 가이드, 개발자 온보딩 - 대상 독자: 개발자, DevOps - 언어: 한국어 - 출력 형식: Markdown - 환경: Windows (개발), Linux (운영) - poster.csv 스키마 및 Aspose.PSD 라이선스 문서화 필요 #### 3.2 clarify.md 업데이트 - 모든 질문 항목에 체크박스 체크 - 각 섹션에 **답변** 항목 추가 - 제목에 "✅ 답변 완료" 추가 --- ### Phase 4: todo.md 우선순위 조정 #### 4.1 주요 변경사항 - ⭐ High Priority 항목 재조정: - poster.csv 스키마 상세 분석 - Aspose.PSD 라이선스 설정 가이드 - Windows/Linux 크로스 플랫폼 설정 - 머신 데이터 준비 가이드 #### 4.2 Phase 재구성 - Phase 6: Feature별 → 통합 기능 문서로 변경 - 코드 커버리지 관련 작업 제거 - 웹사이트 호스팅 우선순위 상향 --- ### Phase 5: 문서 목차 작성 #### 5.1 doc_index.md 생성 - **구성**: 11개 주요 섹션 1. 시작하기 2. 설치 및 설정 3. 데이터 준비 4. 사용 가이드 5. 시스템 아키텍처 6. 핵심 기능 상세 7. API 레퍼런스 8. 개발자 가이드 9. 운영 가이드 10. 데이터 스키마 레퍼런스 11. 부록 - **추가 내용**: - 역할별 추천 독서 순서 - 빠른 링크 - 이모지 제거 (사용자 요청) --- ### Phase 6: 상세 문서 작성 (doc_1 ~ doc_11) #### 6.1 doc_1_getting_started.md - 프로젝트 소개 및 개요 - 주요 기능 설명 - 시스템 요구사항 - 5분 빠른 시작 가이드 - 기본 명령어 예제 - 출력 결과 확인 방법 **주요 내용**: - 템플릿 기반 PSD 자동 생성 - 머신 이름 레이어 자동 교체 - JSON 출력 모드 - PowerShell Core 7.0+ 요구사항 --- #### 6.2 doc_2_installation.md - Prerequisites 상세 설명 - PowerShell Core 7.0+ (Windows/Linux) - .NET Runtime 6.0+ - Aspose.PSD 라이선스 - 설치 단계별 가이드 - DLL 파일 배치 방법 - **Aspose.PSD 라이선스 획득 및 설정** (상세) - 크로스 플랫폼 설정 (Windows/Linux) - 로그 및 디버그 설정 **주요 내용**: - 라이선스 획득 방법 (평가판/정식 구매) - 라이선스 보안 고려사항 - 환경별 경로 설정 --- #### 6.3 doc_3_data_preparation.md - **poster.csv 데이터 구조** (상세) - 컬럼 정의 및 데이터 타입 - 필수/선택 필드 - 샘플 데이터 예제 - 템플릿 준비 - 디렉토리 구조 - 템플릿 메타데이터 JSON - 머신 데이터 준비 - 디렉토리 구조 - 이미지 파일 요구사항 - machine-text 디렉토리 (gtwcs.png, mtwcs.png, gtwcl.png) **주요 내용**: - CSV 필수 필드: id, name, category - 머신 이름 이미지 파일명 규칙 - 데이터 준비 체크리스트 --- #### 6.4 doc_4_user_guide.md - 기본 사용법 - 단일/다중 머신 포스터 생성 - 방향 설정 (horizontal/vertical) - 로고타입 설정 (grandOpen, renewalOpen 등) - 고급 사용법 - JSON 출력 모드 - FastAPI 연동 예제 - 커스텀 템플릿 제작 - 배치 처리 - CLI 파라미터 레퍼런스 **주요 내용**: - 실무 예제 중심 - Python FastAPI 연동 코드 제공 - 모든 파라미터 상세 설명 --- #### 6.5 doc_5_architecture.md - 전체 시스템 아키텍처 다이어그램 - 컴포넌트 구성 - 데이터 흐름 - 디렉토리 구조 (프로젝트/데이터/작업) - 기술 스택 - PowerShell Core 7.0+ - Aspose.PSD for .NET - 의존성 라이브러리 - 주요 스크립트 설명 **주요 내용**: - 계층별 아키텍처 (UI/오케스트레이션/비즈니스 로직/유틸리티) - 크로스 플랫폼 호환성 - 5개 주요 스크립트 역할 --- #### 6.6 doc_6_core_features.md - PSD 포스터 자동 생성 - 템플릿 선택 메커니즘 - 이미지 배치 프로세스 - 스마트 오브젝트 처리 - **머신 이름 레이어 자동 교체** (상세) - 기능 개요 및 배경 - 동작 원리 - 이미지-레이어 매핑 전략 - JSON 메타데이터 활용 - 이미지 스케일링 알고리즘 (Fit-to-bounds) - Edge Cases 처리 - JSON 출력 모드 **주요 내용**: - 레이어 명명 규칙: `machine-name_g{order} #1` - Lanczos 리샘플링 - 중앙 정렬 알고리즘 - 확장 필드 (machine_name_layer_replacements, template_metadata) --- #### 6.7 doc_7_api_reference.md - PowerShell 함수 - PSD-Functions.ps1 - Get-TemplateMetadataJson - Get-ScaledImageDimensions - Find-MachineNameLayer - Load-MachineNameImage - Replace-LayerWithImage - Copy-MachineNameImages - 기타 함수 목록 - PowerShell 함수 - PSD-Utilities.ps1 - 로깅 함수 - 파일 처리 함수 - 유틸리티 함수 - 설정 파라미터 **주요 내용**: - 각 함수의 구문, 파라미터, 반환값, 예제 - 상세한 API 레퍼런스 --- #### 6.8 doc_8_developer_guide.md - 개발 환경 설정 - Visual Studio Code + PowerShell Extension - 로컬 개발 환경 구축 - 디버그 모드 사용법 - 코드 구조 - 모듈 분리 원칙 - 에러 처리 전략 - 코드 스타일 가이드 - 기능 확장 가이드 - 새로운 기능 추가 절차 - 함수 작성 가이드라인 - Git 워크플로우 - 브랜치 전략 - 커밋 메시지 규칙 - Pull Request 프로세스 - 테스트 **주요 내용**: - VS Code 설정 - PowerShell Verb-Noun 명명 규칙 - 일관된 에러 처리 패턴 --- #### 6.9 doc_9_operations_guide.md - 배포 - 프로덕션 환경 요구사항 (Linux) - 배포 절차 (Step 1~6) - 환경 변수 설정 - **보안 고려사항** (Aspose.PSD 라이선스 파일 관리) - 로깅 및 모니터링 - 로그 파일 위치 및 구조 - 로그 레벨 - 로그 분석 방법 - 성능 모니터링 - 트러블슈팅 - 일반적인 오류 및 해결 방법 (10가지) - 디버그 모드 활용 - 로그 기반 문제 진단 - FAQ - 성능 최적화 **주요 내용**: - Linux 서버 배포 상세 절차 - 라이선스 파일 권한 설정 (chmod 400) - systemd 서비스 파일 예제 - 로그 로테이션 (cron) --- #### 6.10 doc_10_data_schema.md - **poster.csv 스키마** (상세) - 전체 컬럼 목록 (7개) - 각 필드 상세 설명 (타입, 제약사항, 예시, 용도) - 샘플 데이터 - 템플릿 메타데이터 JSON 스키마 - JSON Schema Draft-07 - 필드 정의 - 기본값 - 예제 - 머신 데이터 구조 - 디렉토리 레이아웃 - 파일 명명 규칙 - 작업 디렉토리 구조 - JSON 출력 스키마 (Success/Error) - 데이터 검증 체크리스트 **주요 내용**: - 필수 필드: id, name, category - 선택 필드: maker, release_date, spec, image_path - 머신 이름 이미지 파일명 규칙 상세 --- #### 6.11 doc_11_appendix.md - 용어집 - PSD, 스마트 오브젝트, 래스터 레이어 - 템플릿 메타데이터, 머신 이름 이미지 - 로고타입, 작업 디렉토리 - Fit-to-bounds, Lanczos 리샘플링 - 파일 명명 규칙 - 템플릿 파일 - 머신 이미지 파일 - 머신 이름 텍스트 이미지 (gtwcs, mtwcs, gtwcl) - 작업 디렉토리 - 에러 코드 및 메시지 - 라이선스 오류 - 파일 I/O 오류 - PSD 처리 오류 - 데이터 검증 오류 - 참고 자료 - Aspose.PSD 공식 문서 - PowerShell Core 문서 - GitHub Repository - 외부 도구 (ImageMagick, Pester) - 변경 이력 (Changelog) **주요 내용**: - 체계적인 용어 정리 - 에러 코드별 원인 및 해결 방법 - 버전 1.0 릴리스 정보 --- ## 작업 결과 ### 생성된 파일 목록 ``` poster/20251115-doc-setup/ ├── .htaccess # UTF-8 인코딩 설정 ├── clarify.md # 문서화 방향성 (답변 완료) ├── todo.md # 작업 계획 (우선순위 조정) ├── doc_index.md # 문서 목차 ├── doc_1_getting_started.md # 시작하기 ├── doc_2_installation.md # 설치 및 설정 ├── doc_3_data_preparation.md # 데이터 준비 ├── doc_4_user_guide.md # 사용 가이드 ├── doc_5_architecture.md # 시스템 아키텍처 ├── doc_6_core_features.md # 핵심 기능 상세 ├── doc_7_api_reference.md # API 레퍼런스 ├── doc_8_developer_guide.md # 개발자 가이드 ├── doc_9_operations_guide.md # 운영 가이드 ├── doc_10_data_schema.md # 데이터 스키마 레퍼런스 ├── doc_11_appendix.md # 부록 └── progress.md # 진행 현황 (이 파일) ``` **총 16개 파일** (문서 12개 + 메타 파일 4개) --- ### 문서 통계 | 문서 | 주요 섹션 수 | 특징 | |------|-------------|------| | doc_1 | 3 | 빠른 시작, 기본 예제 | | doc_2 | 3 | 설치, 라이선스, 크로스 플랫폼 | | doc_3 | 3 | poster.csv, 템플릿, 머신 데이터 | | doc_4 | 3 | 기본/고급 사용법, CLI 파라미터 | | doc_5 | 4 | 아키텍처, 디렉토리, 기술 스택 | | doc_6 | 3 | PSD 생성, 레이어 교체, JSON 모드 | | doc_7 | 3 | PowerShell 함수, 설정 파라미터 | | doc_8 | 5 | 개발 환경, 코드 구조, Git | | doc_9 | 4 | 배포, 로깅, 트러블슈팅 | | doc_10 | 5 | CSV 스키마, JSON 스키마 | | doc_11 | 5 | 용어집, 파일명 규칙, 에러 코드 | --- ### 문서 특징 #### 언어 및 형식 - ✓ 한국어 작성 - ✓ Markdown 형식 (.md) - ✓ UTF-8 인코딩 - ✓ 이모지 제거 (사용자 요청) #### 대상 및 내용 - ✓ 개발자 및 DevOps 엔지니어 대상 - ✓ 기술 문서 + 사용자 가이드 + 개발자 온보딩 통합 - ✓ 크로스 플랫폼 (Windows/Linux) 고려 - ✓ 실무 예제 중심 #### 우선 문서화 항목 (clarify.md 답변 기준) - ✓ poster.csv 스키마 상세 (doc_3, doc_10) - ✓ Aspose.PSD 라이선스 (doc_2, doc_9) - ✓ Windows/Linux 환경 설정 (doc_2, doc_5) - ✓ 머신 데이터 준비 (doc_3) - ✓ 머신 이름 레이어 교체 (doc_6) --- ## 접근 방법 ### 웹 브라우저 - **목차**: https://tkim.planitai.co.jp/poster/20251115-doc-setup/doc_index.md - **디렉토리**: https://tkim.planitai.co.jp/poster/20251115-doc-setup/ ### 파일 시스템 ```bash cd /var/www/tkim.planitai.co.jp/poster/20251115-doc-setup ls -lh *.md ``` --- ## 역할별 추천 독서 순서 ### 처음 시작하는 사용자 1. doc_1_getting_started.md 2. doc_2_installation.md 3. doc_4_user_guide.md (4.1 기본 사용법) 4. doc_9_operations_guide.md (9.3 트러블슈팅) ### 개발자 1. doc_1_getting_started.md 2. doc_5_architecture.md 3. doc_6_core_features.md 4. doc_7_api_reference.md 5. doc_8_developer_guide.md ### DevOps 엔지니어 1. doc_2_installation.md 2. doc_3_data_preparation.md 3. doc_9_operations_guide.md 4. doc_10_data_schema.md ### 데이터 관리자 1. doc_3_data_preparation.md 2. doc_10_data_schema.md 3. doc_4_user_guide.md (4.1 기본 사용법) --- ## 남은 작업 (향후) ### High Priority - [ ] 실제 프로젝트 소스 코드와 문서 내용 검증 - [ ] 스크린샷 및 다이어그램 추가 - [ ] 샘플 데이터 파일 예제 제공 - [ ] 영문 문서 번역 (필요시) ### Medium Priority - [ ] 동영상 튜토리얼 (선택) - [ ] PDF 버전 생성 (선택) - [ ] 검색 인덱스 생성 ### Low Priority - [ ] GitHub Pages 호스팅 설정 - [ ] 문서 버전 관리 체계 수립 --- ## 기술적 고려사항 ### UTF-8 인코딩 - .htaccess를 통한 강제 UTF-8 설정 - Markdown 파일 `text/plain; charset=UTF-8`로 제공 - 브라우저에서 한글 정상 표시 ### 파일 권한 ```bash # 디렉토리: 755 drwxr-xr-x www-data www-data # 파일: 644 -rw-r--r-- www-data www-data ``` ### 상호 참조 - 각 문서 하단에 "← 목차로 돌아가기" 링크 - 관련 문서 간 상호 링크 제공 - doc_index.md에서 전체 구조 파악 가능 --- ## 품질 기준 ### 문서 완성도 - ✓ 모든 섹션 작성 완료 - ✓ 예제 코드 포함 - ✓ 실무 적용 가능한 내용 - ✓ 일관된 포맷 및 스타일 ### 정확성 - ✓ 프로젝트 소스 코드 기반 - ✓ specs 디렉토리 Feature 문서 참조 - ✓ README.md, CLAUDE.md, prompts.md 내용 반영 ### 접근성 - ✓ 웹 브라우저에서 바로 열람 가능 - ✓ UTF-8 한글 정상 표시 - ✓ 디렉토리 리스팅으로 파일 탐색 가능 --- ## 프로젝트 메타데이터 | 항목 | 내용 | |------|------| | **프로젝트명** | poster-ai-create-psd 문서화 | | **소스 Repository** | git@github.com:planitaicojp/poster-ai-create-psd.git | | **문서 위치** | /var/www/tkim.planitai.co.jp/poster/20251115-doc-setup/ | | **웹 URL** | https://tkim.planitai.co.jp/poster/20251115-doc-setup/ | | **작업 시작일** | 2025-11-15 | | **1차 완료일** | 2025-11-15 | | **문서 버전** | 1.0 (초안) | | **문서 언어** | 한국어 | | **대상 독자** | 개발자, DevOps 엔지니어 | | **총 문서 수** | 12개 (doc_index + doc_1~11) | | **총 파일 수** | 16개 (문서 12 + 메타 4) | --- ## 주요 성과 1. **포괄적인 문서 작성**: 11개 주제별 상세 문서 완성 2. **우선순위 반영**: poster.csv, Aspose.PSD 라이선스 등 핵심 항목 상세 문서화 3. **크로스 플랫폼 대응**: Windows/Linux 환경 모두 고려 4. **실무 중심**: FastAPI 연동, 배치 처리 등 실제 사용 예제 포함 5. **접근성**: 웹 브라우저에서 즉시 열람 가능 6. **일관성**: 통일된 문서 구조 및 스타일 --- ## 문의 및 피드백 - **GitHub Issues**: https://github.com/planitaicojp/poster-ai-create-psd/issues - **문서 수정 제안**: Pull Request 환영 --- **작성일**: 2025-11-15 **최종 업데이트**: 2025-11-15 **상태**: 1차 완료 (Phase 6 완료) **다음 단계**: 문서 검증 및 보완 (Phase 8)