DOCS/journey/plans/archive/251225_admin_dashboard_code_refactoring.md
Claude-51124 e5cbbb89a4 docs: 구현 완료된 계획 문서 아카이브 이동
- 251225_admin_dashboard_code_refactoring.md → archive/ (커밋 ac96e2a)
- 251016_emotion_integration_plan.md → archive/ (커밋 413b1e0)
- 251017_intent_analysis_improvement_plan.md → archive/ (커밋 a4738b9)

각 문서에 구현 완료일, 커밋 해시, troubleshooting 링크 및 완료 사항 정리
2026-01-03 11:42:30 +09:00

2.3 KiB

Admin Dashboard 코드 리팩토링 계획

날짜: 2025-12-25 목표: Monolithic 코드 분리 및 계층 구조 개선 원칙: 311_FastAPI_구조_원칙.md, 313_React_구조_원칙.md


현재 상태

Frontend 문제점

  • app.js: 1132줄 (여전히 1000줄 이상)
  • 일기 모듈만 분리됨 (modules/diary.js)
  • 시스템, 컨테이너, 사용자, 로빙 모듈 미분리

Backend 문제점

  • admin_routes.py: 96줄 (인증만 남음)
  • 시스템 모듈 분리 완료

남은 작업

Frontend 모듈 분리 (미완료)

목표 구조:

frontend/
├── app.js                 # 메인 로직만 (~200줄)
├── services/
│   └── api.js            # API 통신 로직 (미구현)
├── utils/
│   └── helpers.js        # 유틸리티 함수 (미구현)
└── modules/
    ├── diary.js          # 일기 관리 ✅
    ├── system.js         # 시스템 모니터링 (미구현)
    ├── containers.js      # 컨테이너 관리 (미구현)
    ├── users.js          # 사용자/팀 관리 (미구현)
    └── robeings.js       # 로빙 관리 (미구현)

분리 기준:

  • API 통신: services/api.js (apiCall, fetch 로직)
  • 유틸리티: utils/helpers.js (markdownToHtml, showError, showLoadingBar 등)
  • 기능별 모듈: modules/*.js (각 기능별 데이터 로딩 함수)
  • 메인 로직: app.js (초기화, 네비게이션, 이벤트 핸들링)

원칙 준수:

  • 각 파일 300줄 이하
  • UI 렌더링과 비즈니스 로직 분리
  • API 통신 로직 분리

구현 완료

완료일: 2025-12-25
커밋: ac96e2a (admin-dashboard)
상세: troubleshooting/251225_admin_dashboard_code_refactoring.md

완료 사항

  • Backend 모듈 분리: admin_routes.pyrouters/system.py, services/system_service.py
  • 정적 파일 서빙: routers/admin_static.py 생성
  • Frontend 모듈화: modules/diary.js 분리, app.js 1360줄 → 1132줄
  • 로그인 오류 수정: app.js:938 문자열 결합 문법 오류 수정
  • 경로 매칭 문제 해결: /diary/list/diaries로 변경
  • Gateway 프록시 호환성: 이중 경로 지원

참고

  • 311_FastAPI_구조_원칙.md
  • 313_React_구조_원칙.md
  • troubleshooting/251225_admin_dashboard_code_refactoring.md