4.5 KiB
4.5 KiB
프로젝트 구조 명세서 (structure.md)
1. 폴더 및 파일 명명 규칙 (Naming Convention)
- 기본 원칙: 프론트엔드(TypeScript)와 백엔드(Python) 파일을 수직 통합 관리
- 페이지 폴더 명명: 로그인 전은
A01_, 로그인 후는B01_형태 적용, 워크플로우는wf[번호]접두사를 사용 - 시스템 폴더 명명: 공통 유틸, DB, 리소스, 영구저장소 등 시스템 및 데이터 인프라 폴더는 접두사 ID 없이 명확한 영문명 분리
- 파일 명명: 반드시
폴더명(페이지명)_기능_기타사양.확장자형태 작성 - 공통 모듈: 공통 유틸 코드는
common_util폴더 내에common_util_기능.확장자형태 보관
2. 전체 디렉토리 트리 구조
my-project/
├── .agent/
│ ├── agent.md
│ └── structure.md # 본 파일
├── common_util/ # 공통 유틸리티 (공통 기능 코드)
│ ├── common_util_string.ts
│ └── common_util_format.py
├── db_management/ # DB 관리 폴더 (PostgreSQL 마이그레이션 및 스키마 관리)
│ ├── schema.sql
│ └── migration_v1.py
├── resources/ # 웹앱 UI 구성 리소스 (사진, 회사 로고 등 에셋)
│ ├── logo.png
│ └── banner.jpg
├── storage/ # 영구 저장소 (데이터 커서 및 대용량 파일 별도 저장 로직용)
│ └── [고객사명]/
│ └── [사용자명]/
│ └── [프로젝트ID]/ # 프로젝트별 내부 폴더/파일 자동 생성 (별도 폴더 ID 미사용)
├── ui_template/ # 공통 UI 템플릿 및 테마
│ ├── ui_template_theme.css # 글로벌 디자인 테마 및 CSS 변수 (라이트/다크)
│ ├── ui_template_locale.ts # 다국어 텍스트 배열 방식 관리 파일
│ └── ui_template_elements.ts # 공통 컴포넌트 및 그룹 템플릿 정의
├── templates/ # 보고서 출력용 마스터 양식 (DWG, Excel, PPT 등 기본 원본 템플릿 파일)
│ ├── template_report_form.xlsx
│ └── template_drawing_base.dwg
├── config/ # 프로그램 내부 제어 및 시스템 환경 설정 폴더
│ ├── config_system.py # 백엔드 작동 제어 및 알고리즘 파라미터
│ ├── config_db.py # 데이터베이스 연결 제어 설정
│ └── config_frontend.ts # [추가] 프론트엔드 제어 및 웹 환경 설정 (API 주소, 업로드 제한 등)
├── A01_Home/ # 로그인 전 01: 홈 (소개, 소식, 사이트맵 등)
│ ├── A01_Home_UI_Page.ts
│ └── A01_Home_Api_Fetch.py
├── A02_ProgDetail/ # 로그인 전 02: 프로그램 상세
├── A03_CompDetail/ # 로그인 전 03: 회사 상세
├── A04_NewsHistory/ # 로그인 전 04: 최신소식 및 개선 이력
├── A05_EduDetail/ # 로그인 전 05: 교육 상세
├── A06_Login/ # 로그인 전 06: 로그인
├── A07_Register/ # 로그인 전 07: 회원가입
├── A08_Support/ # 로그인 전 08: 기술지원 요청
│
├── B01_AccountDetail/ # 로그인 후 01: 계정 상세
├── B02_ProjRegister/ # 로그인 후 02: 프로젝트 등록
├── B03_FileInput/ # 로그인 후 03: 파일 입력
├── B04_wf1_Surface/ # 로그인 후 04: 1차 workflow (지표면 모델 분석)
│ ├── B04_wf1_Surface_UI_View.ts
│ └── B04_wf1_Surface_Calc_Mesh.py
├── B05_wf2_Route/ # 로그인 후 05: 2차 workflow (경로설계)
├── B06_wf3_ProfileCross/ # 로그인 후 06: 3차 workflow (종횡단 생성)
├── B07_wf4_DesignDetail/ # 로그인 후 07: 4차 workflow (상세설계)
├── B08_wf5_Quantity/ # 로그인 후 08: 5차 workflow (수량 산출)
├── B09_wf6_Estimation/ # 로그인 후 09: 6차 workflow (견적/문서)
├── B10_Payment/ # 로그인 후 10: 결재 페이지
└── B11_Status/ # 로그인 후 11: 상태 출력 페이지 (결재완료/다운로드 등)