Hyungi Ahn 4264e5f8b3 refactor: Phase 2-3 - index.js 대폭 축소 및 설정 파일 분리 완료
index.js를 605줄에서 128줄로 축소 (79% 감소)
미들웨어, 라우트, 데이터베이스 설정을 별도 파일로 분리하여
코드 가독성 및 유지보수성 대폭 향상

주요 변경사항:

신규 파일 (3개):
- config/database.js: DB 연결 풀 관리 (dbPool.js에서 이동)
  * 환경 변수 기반 설정
  * 자동 재연결 로직 (최대 5회 재시도)
  * UTF-8MB4 문자셋 지원
  * logger 통합

- config/middleware.js: 미들웨어 중앙 관리
  * Helmet 보안 헤더 (security.js 사용)
  * CORS 설정 (cors.js 사용)
  * Compression (성능 최적화)
  * Body parser (50MB 제한)
  * 정적 파일 서빙 (public, uploads)
  * Response formatter

- config/routes.js: 라우트 중앙 관리
  * 모든 라우터 import 및 등록
  * Rate limiting 설정 (login, API)
  * 인증 미들웨어 적용
  * 공개 경로 관리
  * Swagger 문서 설정

수정 파일 (2개):
- index.js: 605줄 → 128줄 (79% 감소)
  * 간결한 서버 초기화 로직
  * setupMiddlewares/setupRoutes 함수 사용
  * Graceful shutdown 유지
  * 에러 핸들러 유지
  * 캐시 초기화 로직 유지

- dbPool.js: 호환성 레거시 파일로 전환
  * config/database.js로 위임
  * @deprecated 주석 추가
  * 기존 코드 하위 호환성 유지 (22개 파일에서 사용 중)

파일 통계:
- 3개 파일 추가, 2개 파일 수정
- +92 -621 (net -529 lines)
- index.js: 605 → 128 lines (-477 lines, -79%)

검증 필요 사항:
- [ ] 서버 정상 시작 확인
- [ ] 모든 API 엔드포인트 동작 확인
- [ ] CORS 설정 동작 확인
- [ ] 인증 미들웨어 동작 확인
- [ ] Rate limiting 동작 확인

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-11 11:55:15 +09:00

TK-FB-Project - 통합 실행 가이드

⚙️ 사전 준비

환경 변수 설정 (필수)

처음 실행하기 전에 환경 변수 파일을 생성해야 합니다:

# 1. .env.example을 복사하여 .env 파일 생성
cp .env.example .env

# 2. .env 파일을 편집하여 실제 비밀번호로 변경
nano .env  # 또는 vi, code 등 사용

# 3. 강력한 비밀번호로 변경 (예시)
# MYSQL_ROOT_PASSWORD=your_secure_password_here
# MYSQL_PASSWORD=your_secure_password_here
# JWT_SECRET=your_random_jwt_secret_min_32_chars

중요: .env 파일은 절대 Git에 커밋하지 마세요!

🚀 한 번에 모든 서비스 실행

🎯 간편 실행 (권장)

cd /Users/hyungi/docker/TK-FB-Project
./start.sh

🛑 간편 중지

./stop.sh

📋 직접 실행

docker-compose up -d
docker-compose down

📊 서비스 목록

서비스 포트 접속 URL 설명
웹 UI 20000 http://localhost:20000 메인 웹 인터페이스
API 서버 20005 http://localhost:20005 Node.js API 서버
FastAPI 브릿지 20010 http://localhost:20010 Python FastAPI 서비스
phpMyAdmin 20080 http://localhost:20080 DB 관리도구
MariaDB 20306 - 데이터베이스 서버

🛠️ 관리 명령어

모든 서비스 중지

cd /Users/hyungi/docker/TK-FB-Project
docker-compose down

서비스 상태 확인

docker ps | grep fb_

로그 확인

docker-compose logs -f

💾 데이터베이스 정보

  • 호스트: localhost:20306
  • 데이터베이스: hyungi (.env 파일의 MYSQL_DATABASE)
  • 사용자: hyungi_user (.env 파일의 MYSQL_USER)
  • 비밀번호: .env 파일에서 설정한 MYSQL_PASSWORD
  • Root 비밀번호: .env 파일에서 설정한 MYSQL_ROOT_PASSWORD

참고: 실제 비밀번호는 .env 파일을 확인하세요.

주요 개선사항

  1. 통합 실행: 한 번의 명령으로 모든 서비스 실행
  2. 깔끔한 DB 초기화: 마이그레이션 오류 해결
  3. 일관된 네이밍: fb_ 접두사로 컨테이너 구분
  4. 안정적인 포트: 20000번대 포트 사용
Description
생산팀 포탈 페이지 제작 건
Readme 231 MiB
Languages
Python 81.2%
JavaScript 8.5%
HTML 7.1%
CSS 1.6%
Cython 0.8%
Other 0.7%