# 프로젝트 추가 모듈화 및 리팩토링 계획 `memo.py` 모듈화 이후, 코드 품질 향상 및 유지보수성 확보를 위해 추가적으로 개선이 필요한 영역을 분석한 결과입니다. ## 📋 추가 모듈화 검토 대상 리스트 | 대상 영역 | 파일 위치 | 현재 상태 (Lines) | 문제점 및 개선 방향 | 우선순위 | | :--- | :--- | :--- | :--- | :--- | | **백엔드 코어** | `app/__init__.py` | 121 lines | `create_app` 함수에 보안, 로깅, CSP 설정이 집중됨. `app/core/`로 분리 필요. | **높음** | | **프론트엔드 UI** | `static/js/ui.js` | 331 lines | 모든 UI 이벤트 및 렌더링이 집중된 God Object. 레이아웃과 렌더링 로직 분리 필요. | **높음** | | **DB 스키마** | `app/database.py` | 88 lines | 연결 로직과 테이블 정의가 혼재됨. SQL 파일이나 전용 클래스로 스키마 관리 분리. | 보통 | | **명령어 엔진** | `static/js/components/SlashCommand.js` | 352 lines | 명령어 데이터와 UI 제어 로직이 섞여 있음. 데이터 중심 구조로 개편 필요. | 보통 | | **파일 서비스** | `app/routes/file.py` | 162 lines | `memo.py`처럼 Route에 로직이 포함됨. `FileService` 계층 신설 고려. | 보통 | | **에디터 관리** | `static/js/editor.js` | 215 lines | Toast UI 설정과 커스텀 기능이 얽혀 있음. 플러그인 인터페이스 도입 필요. | 낮음 | ## 🛠️ 향후 작업 권고 단계 1. **1단계 (Core)**: `app/__init__.py`에서 로깅 및 보안 설정을 분리하여 서버 초기화 가독성 확보. 2. **2단계 (UI)**: `ui.js`를 `layout.js`와 `memos.js` 등으로 분리하여 프론트엔드 관리 효율화. 3. **3단계 (Data)**: `database.py` 내의 하드코딩된 스키마를 모델 정의 파일로 이동. --- *작성일: 2026-04-20*