Hyungi Ahn 09f6756da7 refactor: Phase 3.1 - DailyWorkReport 서비스 레이어 개선
작업 보고서 서비스와 컨트롤러를 새로운 에러 핸들링 및
로깅 시스템으로 업그레이드하여 코드 품질 및 유지보수성 향상

주요 변경사항:

services/dailyWorkReportService.js:
- 새로운 커스텀 에러 클래스 적용
  * ValidationError: 유효성 검증 실패
  * NotFoundError: 리소스를 찾을 수 없음
  * DatabaseError: 데이터베이스 오류
- console.log → logger 유틸리티로 전환
  * 구조화된 로깅 (context 포함)
  * 로그 레벨 분리 (info, warn, error)
  * 파일 로깅 지원
- 상세한 에러 컨텍스트 제공
  * 필수 필드, 받은 값, 유효 범위 등
  * 디버깅 및 문제 해결 용이성 향상

controllers/dailyWorkReportController.js:
- 새로운 에러 클래스 import
- asyncHandler 미들웨어 통일
- createDailyWorkReport 함수 간소화
  * try-catch 제거 (asyncHandler가 처리)
  * 표준 JSON 응답 포맷 사용

개선 효과:
- 에러 메시지 명확성 향상
- 로그 분석 및 모니터링 용이
- 일관된 에러 처리 패턴
- 테스트 가능성 향상
- 프로덕션 환경 파일 로깅 지원

파일 통계:
- 2개 파일 수정
- +115 -65 (net +50 lines)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-11 12:00:16 +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%