# 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.py` → `routers/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`