Files
Aislo/docs/wiki/concepts/storage_paths.md
T
2026-07-15 18:33:33 +09:00

2.3 KiB

type, status, related_pages, last_updated, source
type status related_pages last_updated source
concept stable
B02_ProjRegister/B02_backend
B03_FileInput/B03_backend
B04_wf1_Surface/B04_backend
B05_wf2_Route/B05_backend
B06_wf3_ProfileCross/B06_backend
B07_wf4_DesignDetail/B07_frontend
B08_wf5_Quantity/B08_frontend
B09_wf6_Estimation/B09_frontend
2026-07-12 raw/guidelines/structure.md, raw/guidelines/db_schema.md, raw/guidelines/backend.md, raw/guidelines/agent.md

저장 경로 규칙 (Workflow-based Folder Structure)

경로 패턴

storage/{company_slug}/{user_slug}/{project_id}/
├── B03_FileInput/input/{file_type}/         WF0 원본 입력
├── B04_wf1_Surface/processed/, models/       WF1 변환·모델
├── B05_wf2_Route/route/                      WF2 경로
├── B06_wf3_ProfileCross/longitudinal/, cross_sections/  WF3 종횡단
├── B07_wf4_DesignDetail/structures/          WF4 구조물
├── B08_wf5_Quantity/quantities/               WF5 수량
└── B09_wf6_Estimation/v1/, v2/, ...          WF6 산출물 (버전은 여기서만)

원칙 (backend.md 3절)

  1. 하드코딩 금지 — 경로는 config/config_system.py에서 import.
  2. 물리 파일은 DB 저장 금지 — 대용량 파일은 파일시스템, DB에는 경로만.
  3. 단계별 루트 강제 — 각 B0x 폴더명은 실제 워크플로우 페이지명과 동일해야 함. raw/, processed/, computed/를 프로젝트 루트 공용 폴더로 만들지 않음.
  4. 경로 생성 책임 분리 — 페이지별 백엔드는 자기 단계 폴더만 생성·수정. 다른 단계 산출물을 직접 삭제·덮어쓰지 않고 stale로 전파 → workflow_state.
  5. 상대 경로만 DB 저장 — 프로젝트 루트 기준 상대경로. 사용자 입력 경로 직접 결합 금지(경로 이탈 방지), 절대경로 저장 금지.

DB 컬럼 ↔ 실제 경로 매핑

상세 표 → db_schema/overview "파일 경로 추적 컬럼"

파일명 규칙 (structure.md 1절)

  • 페이지 폴더: 로그인 전 A0x_, 로그인 후 B0x_, 워크플로우는 wf[번호] 접두사
  • 파일명: 폴더명(페이지명)_기능_기타사양.확장자
  • 공통 유틸: common_util/common_util_기능.확장자