[P2] [구조정리 후속] organization 레거시 구조 승격 및 장기 고도화 #21
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
배경
현재 8081 화면 구성은 다음 방식이 혼재되어 있습니다.
frontend/public/*자체 코드incoming-files/served/mh.html기반 직접 수정 서빙incoming-files/served/payment.html기반 직접 수정 서빙legacy/static/*레거시 직접 관리 구조즉, 프로젝트 안에 원본 직접 수정, 원본+override, 별도 앱/레거시 코드가 섞여 있습니다. 이 구조는 단기적으로는 빠르지만, 장기적으로는 아래 문제가 큽니다.
현재는 디자인 큐 통일 작업을 우선 진행 중이며, 이 작업이 완료된 뒤 실제 서비스 코드를 독립된 정식 구현물로 고정하는 후속 정리가 필요합니다.
목표
원본 파일은 더 이상 직접 실행/서빙 기준으로 사용하지 않고, 참고용(reference) 으로만 남깁니다.
실제 서비스는 다음 원칙으로 고정합니다.
reference는 보관/비교 전용served또는 정식 앱 디렉터리만 실제 서비스 코드design-tokens.css및DESIGN_SSOT.md기준만 사용왜 필요한가
이 작업을 하면 다음이 가능해집니다.
범위
포함
incoming-files/served/*를 화면별 정식 서비스 엔트리로 승격제외
선행조건
이 이슈는 현재 진행 중인 디자인 큐 통일 작업 완료 후 시작합니다.
이유:
현재 문제 진단
1. 팀/개인별 분석
incoming-files/mh.html와incoming-files/served/mh.html가 같이 존재2. 프로젝트별 분석
incoming-files/payment.html와incoming-files/served/payment.html구조3. 사업관리대장
4. 조직현황
권장 최종 구조
현실적인 최종안
incoming-files/reference/*incoming-files/served/*frontend/public/design-tokens.cssdocs/architecture/DESIGN_SSOT.mdbackend/app/main.py또는 분리된 서빙 라우터장기적으로 더 좋은 구조
화면별 앱 구조로 승격
frontend/apps/ledger/frontend/apps/payment/frontend/apps/team/frontend/apps/organization/다만 이 이슈에서는 여기까지 바로 가지 않고, 우선 served 정식 서비스 코드 독립화 까지를 목표로 합니다.
완료 조건
served와reference의 역할이 문서와 코드에서 일치함제안 작업 순서
reference/served/legacy/frontend/public책임 문서화검증 포인트
8081에서 사업관리대장 / 프로젝트별 분석 / 팀개인별 분석 / 조직현황이 기존과 동일하게 열리는지메모
이 이슈는 구조 안정화와 유지보수성 개선을 위한 후속 작업입니다.
우선순위는 높지만, 현재 진행 중인 디자인 큐 통일 작업이 끝난 뒤 착수하는 것이 가장 효율적입니다.
후속 구조 정리 전 단계로, reference 의존 제거를 준비하기 위한 디자인 기준 승격을 먼저 완료했습니다.
이번 선행 작업:
design-tokens.css/design-patterns.css를 공식 런타임 디자인 기준으로 승격디자인 수정 우선 경로를 문서화의미:
커밋:
fb5b0f0 feat: unify 8081 dashboard design system and views#21 1차 진행 상황
8081사업관리대장 runtime이 더 이상incoming-files/사업관리대장/MH 통합 대시보드_260320.htmlwrapper를 decode해서 서빙하지 않도록 정리함.반영 내용:
incoming-files/served/ledger/로 승격served/ledger/index.html생성: 기존 wrapper 내부 base64 원본을 추출한 정식 runtime entry 파일served/ledger/MH 통합 대시보드_260320.css,served/ledger/ledger-override.css,served/ledger/ledger-override.js,served/ledger/사업관리대장-1.xlsx복제/integrations/ledger는 이제served/ledger/index.html만 응답/integrations/ledger-assets/*는 이제served/ledger/*만 정적 서빙served/ledger/사업관리대장-1.xlsx를 봄검증:
py_compile통과served/ledger/ledger-override.js문법 체크 통과/integrations/ledger200 확인/integrations/ledger-assets/ledger-override.js200 확인의미:
사업관리대장/*는 이제 비교용/reference 역할만 남고, runtime 직접 의존은 제거된 상태#21 2차 진행 상황
reference 실제 재배치까지 진행함.
반영 내용:
incoming-files/사업관리대장/디렉터리를incoming-files/reference/ledger/로 이동incoming-files/served/ledger/*만 사용prepare_dev_worktree.sh도 이제incoming-files/reference/ledger/를 복사하도록 갱신incoming-files/README.md,incoming-files/reference/README.md,incoming-files/served/README.md,docs/architecture/8081_SERVING_MAP.md,docs/DEV_PROD_DB_PROTOCOL.md,docs/NEXT_SESSION_CHECKPOINT.md경로 기준 갱신검증:
py_compile통과prepare_dev_worktree.sh두 경로 모두bash -n통과/integrations/ledger200,/integrations/ledger-assets/ledger-override.css200 재확인현재 상태:
served/reference가 분리된 상태화면별 앱 구조 승격검토#21 3차 진행 상황
사업관리대장화면별 앱 구조 승격의 첫 단계로 source-of-truth 위치를 별도 앱 디렉터리로 분리함.반영 내용:
frontend/apps/ledger/생성served/ledger파일을 앱 소스 경로로 복제frontend/apps/ledger/index.htmlfrontend/apps/ledger/assets/MH 통합 대시보드_260320.cssfrontend/apps/ledger/assets/ledger-override.cssfrontend/apps/ledger/assets/ledger-override.jsscripts/publish_ledger_app.sh추가incoming-files/served/ledger/*publish 역할NEXT_SESSION_CHECKPOINT.md8081_SERVING_MAP.mdincoming-files/served/ledger/README.md검증:
publish_ledger_app.sh문법 체크 통과/integrations/ledger200,/integrations/ledger-assets/ledger-override.js200 재확인현재 의미:
served/ledger를 사용하지만, 수정 원본은frontend/apps/ledger로 올려두는 구조가 생김#21 4차 진행 상황
프로젝트별 분석(payment)도 같은 방식으로 화면별 앱 구조 승격 1차를 적용함.반영 내용:
frontend/apps/payment/index.html생성: 프로젝트별 분석 source-of-truthfrontend/apps/payment/README.md추가scripts/publish_payment_app.sh추가frontend/apps/payment/index.html->incoming-files/served/payment.htmlincoming-files/payment.html비교용 복사본도 갱신incoming-files/served/README.mddocs/architecture/8081_SERVING_MAP.mddocs/NEXT_SESSION_CHECKPOINT.md검증:
publish_payment_app.sh문법 체크 통과frontend/apps/payment/index.html==incoming-files/served/payment.htmlfrontend/apps/payment/index.html==incoming-files/payment.html/integrations/payment응답 확인const App = () =>,/design-patterns.css포함 확인현재 의미:
ledger,payment둘 다 runtime served 파일과 수정 원본이 분리됨mh에도 같은 패턴 확장, 또는 이 상태에서 데이터 정합성/세부 기능 작업 진행#21 5차 진행 상황
팀/개인별 분석(mh)도 같은 방식으로 화면별 앱 구조 승격 1차를 적용함.반영 내용:
frontend/apps/team/index.html생성: 팀/개인별 분석 source-of-truthfrontend/apps/team/README.md추가scripts/publish_team_app.sh추가frontend/apps/team/index.html->incoming-files/served/mh.htmlincoming-files/mh.html비교용 복사본도 갱신incoming-files/served/README.mddocs/architecture/8081_SERVING_MAP.mddocs/NEXT_SESSION_CHECKPOINT.md검증:
publish_team_app.sh문법 체크 통과frontend/apps/team/index.html==incoming-files/served/mh.htmlfrontend/apps/team/index.html==incoming-files/mh.html/integrations/mh응답 확인<title>팀/개인별 분석</title>,/design-tokens.css?v=20260401-01포함 확인현재 구조 상태:
ledger,payment,mh모두앱 소스 -> publish -> served구조로 맞춰짐#21 현재 정리 상태 요약
이번 차수 기준으로
8081integration 화면 구조는 아래처럼 정리됨.완료된 구조 분리
referenceincoming-files/reference/ledger/로 이동servedincoming-files/served/ledger/*incoming-files/served/payment.htmlincoming-files/served/mh.htmlapp sourcefrontend/apps/ledger/*frontend/apps/payment/index.htmlfrontend/apps/team/index.htmlpublish 흐름
ledger:scripts/publish_ledger_app.shpayment:scripts/publish_payment_app.shteam:scripts/publish_team_app.sh즉 앞으로는 화면 수정 시 served 파일을 직접 먼저 고치지 않고, app source를 수정한 뒤 publish로 반영하는 구조를 기준으로 본다.
현재 남아 있는 범위
organization은 아직 레거시 직접 관리 구조현재 기준으로 핵심 목표는 거의 달성됨.
완료된 범위:
ledger,payment,mh를앱 소스 -> publish -> served구조로 정리남은 범위:
organization화면의 동일 구조 승격 검토즉 이제는 구조 안정화 핵심 이슈라기보다, 남은 레거시 화면과 장기 고도화 이슈에 가까움.
[P1] [구조정리 후속] reference 의존 제거 및 8081 실제 서비스 코드 독립화to [P2] [구조정리 후속] organization 레거시 구조 승격 및 장기 고도화