4264e5f8b3ae751cbe15cdc01d7d58ef07067d7e
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>
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 파일을 확인하세요.
✨ 주요 개선사항
- 통합 실행: 한 번의 명령으로 모든 서비스 실행
- 깔끔한 DB 초기화: 마이그레이션 오류 해결
- 일관된 네이밍: fb_ 접두사로 컨테이너 구분
- 안정적인 포트: 20000번대 포트 사용
Description
Languages
Python
81.2%
JavaScript
8.5%
HTML
7.1%
CSS
1.6%
Cython
0.8%
Other
0.7%