Files
TK-FB-Project/DEV_LOG.md

2.5 KiB

개발 진행 로그

📅 Recent Updates (2025-12-19)

WorkAnalysis 리팩토링 완료

내용: 복잡한 통계 로직을 포함하던 workAnalysisController.js를 리팩토링함.

  • [NEW] Service Layer: services/workAnalysisService.js 생성. 비즈니스 로직 이관.
  • [UPDATE] Model Layer: Raw SQL 쿼리를 Controller에서 Model(models/WorkAnalysis.js)로 이동. getProjectWorkTypeRawData 메서드 추가.
  • [CLEANUP] Controller: getProjectWorkTypeAnalysis 메서드가 Service를 호출하도록 단순화.

🐛 심각한 버그 수정 및 시스템 정상화 (2025-12-19)

개요: 로그인 500 에러 및 대시보드 데이터 미표시 문제 해결.

  1. DB 정상화 (Login 500 Fix)

    • 원인: 초기화된 DB(Empty) 및 테이블명 대소문자 불일치(Users vs users).
    • 조치: hyungi.sql 복원 후, 컨벤션에 맞춰 테이블명 일괄 변경(Usersusers, Projectsprojects, Workersworkers, Taskstasks).
    • 코드 수정: userModel.js, authController.js 등 관련 코드의 테이블 참조 수정.
  2. 프로젝트 조회 오류 수정 (Project API 500 Fix)

    • 원인: 구버전 스키마 복원으로 인한 projects 테이블 컬럼 부족(is_active, project_status, completed_date).
    • 조치: 마이그레이션 실행하여 누락된 컬럼 추가.
  3. 대시보드 작업자 미표시 수정

    • 원인 1 (Data): workers 테이블 내 status 값이 유효하지 않음(..). → active로 일괄 수정.
    • 원인 2 (Logic): INNER JOIN 사용으로 통계가 없는 작업자 누락. → LEFT JOIN으로 쿼리 개선(MonthlyStatusModel.js).
  4. 테스트 계정 생성

    • tester / 000000 관리자(Leader) 계정 생성.

🛡보안 및 검토 리포트 (History)

2025-07-29 보안 취약점 분석

api.hyungi.net 백엔드 서버 취약점 점검 결과.

라이브러리 심각도 상태 조치사항
tar-fs High 해결가능 npm audit fix 권장 (완료됨)
brace-expansion Low 해결가능 npm audit fix 권장 (완료됨)
pm2 Low 미해결 업데이트 대기 필요

📋 향후 계획

  1. 테스트 커버리지 확보: 리팩토링된 Service Layer에 대한 Unit Test 보강.
  2. Knex 마이그레이션: 남은 Raw SQL(Model Layer)을 Knex 쿼리빌더로 점진적 전환.
  3. API 문서화: Swagger/OpenAPI 도입 검토.