- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록) - `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록 — 창끼리 공유하되 저장소에는 안 올리는 장부 - 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠) - graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
4.1 KiB
4.1 KiB
완료 작업 계획서 Archive (2026-08-08) — R1, R2 기능
1. R2. 프로젝트 생성 전 임시 보관함 (Temp Upload) (2026-08-08, 구현 완료 / 검증 완료)
배경: 라이다 원본은 수십 GB라 업로드에 오래 걸린다. 지금은 프로젝트를 먼저 만들어야만 올릴 수 있어, 프로젝트 정보가 확정되기 전에는 업로드를 시작할 수 없다. 사용자 계정에 묶인 임시 보관함을 만들어 미리 올려 두고, 나중에 프로젝트를 만들면 그 자료를 끌어와 쓰도록 한다.
선행 완료 (2026-08-08): 알림 메일 통합 — 업로드 완료 메일과 지표면 분석 완료 메일 두 통을 초기 설계(B04~B06)까지 마친 시점의 통합 메일 한 통(send_initial_analysis_complete_email)으로 합침. 기존 send_file_upload_complete_email은 삭제하지 않고 이 임시 보관함 안내용으로 남겨 둠.
확정 사항 (2026-08-08 사용자 협의):
- 업로드 화면 위치: B01 대시보드. 프로젝트 등록(B02)과 비슷한 폼 UI로 구성.
- 청크 업로드·이어받기 재활용: 기존
upload_sessions/upload_chunks로직을 그대로 쓴다. 새로 만들지 않는다. - 진행 표시: 업로드 모달이 아니라 보관함 리스트 행에 진행률을 표시한다.
- 연결 지점: B03 파일 입력 페이지의 파일 업로드 컨테이너 내부 버튼. 누르면 내 임시 보관함 중 완료된 항목만 목록으로 보여주고, 선택 → [확인] → 슬롯에 지정 표시.
- 이동 시점: B03의 [업로드] 버튼을 눌렀을 때 임시 보관소 → 해당 프로젝트 영구저장소로 이동하고, 이어서 기존 자동 연산 체인(B04→B05→B06)을 탄다.
- 보관 기간: 파일 업로드 완료 시점 기준 1개월. 주기 작업으로 자동 삭제. 기간·주기는
config/config_system.py상수로 제어(변동 가능). - 저장 위치:
storage/tmp/하위. - 컨테이너 UI 규격: 프로젝트/사용자 관리 컨테이너와 같은 형태로 통일.
구현 체크리스트:
- Phase 1 — 저장·DB 기반 (config 상수 3종,
010_temp_upload.sql작성·실 DB 적용, 청크 저장 경로 구성) - Phase 2 — 백엔드 API (
B03_FileInput_Router_Temp.py신설, 700줄 제한 준수, 묶음 생성·목록·삭제·attach API 등) - Phase 3 — 정리 작업 (
common_util_temp_cleanup.py+ main.py 주기 루프 등록) - Phase 4 — 프론트엔드 (B01 대시보드 임시 보관함 컨테이너, B03 불러오기 버튼/선택 모달 연동)
2. R1. 폴더 구조 리팩토링 — 워크플로우 재편 (B04~B09) (2026-08-08, 구현 완료 / 검증 완료)
배경: 페이지 폴더명이 실제 기능과 어긋나 있고(B05는 종단, B06은 횡단 중심으로 재편됨), 수량 산출과 상세설계(도면)의 워크플로우 순서를 맞바꿔야 한다. 페이지 번호(BXX)만으로 정리하고 wf 번호는 전면 제거한다.
이름 매핑표:
- B04_wf1_Surface →
B04_PreProcess(지표면 분석) - B05_wf2_Route →
B05_Profile(경로·종단) - B06_wf3_ProfileCross →
B06_Section(횡단·유토곡선) - B07_wf4_DesignDetail →
B07_Quantity(신설 셸, 구 수량 백업 zip 보관) - B08_wf5_Quantity →
B08_DesignDetail(현 B07 도면(CAD)+openwebcad 이동) - B09_wf6_Estimation →
B09_Estimation(설계도서 셸)
구현 체크리스트:
- Phase 0 — 조사 완료
- Phase 1 — 기존 프로젝트 데이터 삭제
- Phase 2 — B04_PreProcess 개명
- Phase 3 — B05_Profile·B06_Section 동시 개명
- Phase 4 — 도면 코드 B08_DesignDetail 이동 (
/b08-cad정적 서빙, CAD 레이어b08-*, openwebcad 재빌드) - Phase 5 — B07_Quantity 셸 신설·B09 정리·순서 반영 (
STAGE_KEYS7종 재정의, 수량 확정 경량 API) - Phase 6 — 자동 체인 상태·B05/B06 버튼 개편 (stage 2·3 IN_PROGRESS 유지, B05 컨테이너 병합, 액션 행 개편)
- Phase 7 — 최종 검증·마감 (ruff/prettier, 빌드 통과, 서빙 스모크 테스트 성공)