Commit Graph

106 Commits

Author SHA1 Message Date
Hyungi Ahn
a9bce9d20b fix: 캘린더 모달 중복 카드 문제 및 삭제 권한 개선
- monthly_worker_status 조회 시 GROUP BY로 중복 데이터 합산
- 작업보고서 삭제 권한을 그룹장 이상으로 제한 (admin, system, group_leader)
- 중복 데이터 정리를 위한 마이그레이션 SQL 추가 (009_fix_duplicate_monthly_status.sql)
- synology_deployment 버전에도 동일 수정 적용
2025-12-02 13:08:44 +09:00
Hyungi Ahn
beaffcad49 fix: MySQL 8.0 호환성 문제 해결 - db.execute → db.query 변경
🔧 주요 변경사항:
- WorkAnalysis.js: getRecentWork() 함수에서 db.execute → db.query로 변경
- Redis 연결 설정: socket 방식으로 업데이트 (Redis v5+ 호환)
- Docker Compose: Redis 서비스 추가 및 네트워크 단순화

🎯 해결된 문제:
- 'Incorrect arguments to mysqld_stmt_execute' 오류 해결
- 시놀로지 MySQL 8.0 환경에서 파라미터 바인딩 호환성 문제 해결
- Redis 연결 실패 문제 해결

📋 참고사항:
- MySQL 8.0의 ONLY_FULL_GROUP_BY 모드와 Node.js 드라이버 호환성 문제
- db.execute vs db.query 차이점은 MYSQL_COMPATIBILITY_NOTES.md 참조
2025-11-05 15:18:01 +09:00
Hyungi Ahn
ed40eec261 fix: 그룹 리더 대시보드 작업 저장/삭제 오류 해결 및 작업 분석 시스템 성능 최적화
🔧 그룹 리더 대시보드 수정사항:
- API 호출 방식 수정 (modern-dashboard.js)
- 서버 API 요구사항에 맞는 데이터 구조 변경
- work_entries 배열 구조로 변경
- work_type_id → task_id 필드명 매핑
- 400 Bad Request 오류 해결

 작업 분석 시스템 성능 최적화:
- 중복 함수 제거 (isWeekend, isVacationProject 통합)
- WorkAnalysisAPI 캐싱 시스템 구현 (5분 만료)
- 네임스페이스 조직화 (utils, ui, analysis, render)
- ErrorHandler 통합 에러 처리 시스템
- 성능 모니터링 및 메모리 누수 방지
- GPU 가속 CSS 애니메이션 추가
- 디바운스/스로틀 함수 적용
- 의미 없는 통계 카드 제거

📊 작업 분석 페이지 개선:
- 프로그레스 바 애니메이션
- 토스트 알림 시스템
- 부드러운 전환 효과
- 반응형 최적화
- 메모리 사용량 모니터링
2025-11-05 10:12:52 +09:00
Hyungi Ahn
052e868599 feat: 오류 분석 시스템 완전 재구조화 및 개선
 주요 기능
- Production Report 스타일 오류 분석 테이블 구현
- 작업 형태 중심의 데이터 집계 및 표시
- 프로젝트별 그룹화 (rowspan 적용)
- 연차/휴무 통합 처리 및 주말 제외

📊 테이블 구조 개선
- Job No. → 프로젝트명 표시
- 작업내용 → 작업 형태 (Base, Vessel, Piping Assembly)
- 총 시간 → 작업 형태별 총 시간
- 세부시간 → 정규/오류 유형별 세분화
- 백분율 → 오류율로 변경

🎨 UI/UX 개선
- 프로젝트별 rowspan 그룹화
- 정규(녹색)/오류(빨간색) 시각적 구분
- 연차/휴무 오렌지 색상 테마
- 프로젝트 그룹 경계선 추가

🔧 데이터 처리 로직
- 작업 형태별 오류 데이터 집계
- 오류 유형별 세분화 (설계미스, 발주미스 등)
- 주말 연차/휴무 자동 제외
- 모든 연차/휴무 하나로 통합

🛡️ 안정성 개선
- DOM 요소 null 체크 및 안전한 접근
- 디버깅 로그 추가
- 에러 핸들링 강화
2025-11-05 08:39:35 +09:00
Hyungi Ahn
26f9a4dea2 feat: 프로젝트별 작업 분포 Production Report 스타일 완성
 주요 기능
- 프로젝트별 → 작업유형별 데이터 취합 및 표시
- Production Report 스타일 테이블 구현
- 연차/휴무 별도 처리 (주말 제외, 녹색 테마)
- Job No. 정확한 표시 (중복 제거)

🔧 API 개선
- recent-work API에 job_no 필드 추가
- MySQL 쿼리 결과 처리 수정 (results[0] 사용)
- Projects 테이블 대소문자 조인 문제 해결

🎨 UI/UX 개선
- 탭 기반 분석 인터페이스
- 색상 팔레트 개선 (파란색/녹색/노란색 계열)
- 텍스트 방향 수정 (가로 표시)
- 프로젝트별 합계 행 추가

📊 계산 로직
- 공수: 시간 ÷ 8
- 부하율: (개별 시간 ÷ 전체 시간) × 100%
- 인건비: 공수 × 350,000원
- 주말 연차 자동 제외
2025-11-04 17:52:24 +09:00
Hyungi Ahn
de427c457b feat: 작업 분석 시스템 및 관리 기능 대폭 개선
 새로운 기능:
- 작업 분석 페이지 구현 (기간별, 프로젝트별, 작업자별, 오류별)
- 개별 분석 실행 버튼으로 API 부하 최적화
- 연차/휴무 집계 방식 개선 (주말 제외, 작업내용 통합)
- 프로젝트 관리 시스템 (활성화/비활성화)
- 작업자 관리 시스템 (CRUD 기능)
- 코드 관리 시스템 (작업유형, 작업상태, 오류유형)

🎨 UI/UX 개선:
- 기간별 작업 현황을 테이블 형태로 변경
- 작업자별 rowspan 그룹화로 가독성 향상
- 연차/휴무 프로젝트 하단 배치 및 시각적 구분
- 기간 확정 시스템으로 사용자 경험 개선
- 반응형 디자인 적용

🔧 기술적 개선:
- Rate Limiting 제거 (내부 시스템 최적화)
- 주말 연차/휴무 자동 제외 로직
- 작업공수 계산 정확도 향상
- 데이터베이스 마이그레이션 추가
- API 엔드포인트 확장 및 최적화

🐛 버그 수정:
- projectSelect 요소 참조 오류 해결
- 차트 높이 무한 증가 문제 해결
- 날짜 표시 형식 단순화
- 작업보고서 저장 validation 오류 수정
2025-11-04 16:56:47 +09:00
Hyungi Ahn
746e09420b feat: 캘린더 기반 작업 현황 확인 시스템 구현
- 월별 캘린더 UI로 작업 현황을 한눈에 확인 가능
- 미입력(빨강), 부분입력(주황), 확인필요(보라), 이상없음(초록) 상태 표시
- 범례 아이콘(●)을 사용한 직관적인 상태 표시
- 날짜 클릭 시 해당일 작업자별 상세 현황 모달
- 작업자 클릭 시 개별 작업 입력/수정 모달
- 휴가 처리 기능 (연차, 반차, 반반차, 조퇴)
- 월별 집계 데이터 최적화로 API 호출 최소화

백엔드:
- monthly_worker_status, monthly_summary 테이블 추가
- 자동 집계 stored procedure 및 trigger 구현
- 확인필요(12시간 초과) 상태 감지 로직
- 출석 관리 시스템 확장

프론트엔드:
- 캘린더 그리드 UI 구현
- 상태별 색상 및 아이콘 표시
- 모달 기반 상세 정보 표시
- 반응형 디자인 적용
2025-11-04 10:12:07 +09:00
Hyungi Ahn
33307bb243 enhance: 작업 입력 UI 대폭 개선 - 모던하고 직관적인 인터페이스 구현
🎨 모던한 카드형 레이아웃:
1. 작업 항목 디자인 완전 개편:
   - 그라데이션 배경 (primary → tertiary)
   - 상단 컬러 바 호버 효과
   - 향상된 그림자 및 호버 애니메이션
   - 2xl 테두리 반경으로 부드러운 외관

2. 폼 필드 그룹화:
   - form-field-group 컨테이너 도입
   - 아이콘과 라벨 조합으로 직관성 향상
   - 포커스 상태 시각적 피드백
   - 호버 효과로 상호작용성 증대

 에러 유형 조건부 표시 개선:
1. 스마트한 UI 로직:
   - 업무 상태가 '에러'일 때만 에러 유형 섹션 표시
   - 부드러운 슬라이드 다운 애니메이션 (0.4s cubic-bezier)
   - opacity, max-height, transform 조합 애니메이션

2. 시각적 구분:
   - 에러 섹션: error-50 → warning-50 그라데이션
   - 에러 테두리: error-200 컬러
   - 에러 아이콘 및 라벨: error-500/700 컬러

🚀 빠른 시간 버튼 고도화:
1. 프리미엄 디자인:
   - 그라데이션 배경 (primary-100 → primary-200)
   - 호버 시: primary-500 → primary-600 그라데이션
   - 반짝이는 효과 (::before 슬라이드 애니메이션)
   - 3D 변형 효과 (scale, translateY)

2. 향상된 상호작용:
   - 30분 옵션 추가 (0.5시간)
   - 클릭 시 스케일 애니메이션
   - 중앙 정렬 및 최소 너비 설정
   - cubic-bezier 전환 효과

🎯 사용자 경험 개선:
1. 직관적인 인터페이스:
   - 아이콘으로 필드 구분 (🏗️ 프로젝트, ⚙️ 작업유형, 📊 업무상태, ⚠️ 에러유형,  시간)
   - 명확한 플레이스홀더 텍스트
   - 논리적인 필드 배치 (2열 그리드)

2. 반응형 최적화:
   - 모바일에서 적절한 패딩 및 폰트 크기
   - 터치 친화적 버튼 크기
   - 유연한 그리드 레이아웃

🔧 기술적 개선:
1. JavaScript 로직 강화:
   - setupWorkEntryEvents 함수 완전 재작성
   - 폼 필드 포커스 효과 추가
   - 에러 타입 조건부 표시 로직 개선
   - 버튼 클릭 피드백 애니메이션

2. CSS 아키텍처:
   - 컴포넌트 기반 스타일링
   - CSS 변수 활용한 일관된 디자인
   - 애니메이션 키프레임 정의
   - 계층적 스타일 구조

🎯 결과:
- 허접했던 UI → 프로페셔널한 모던 인터페이스
- 에러 유형 조건부 표시로 사용성 대폭 향상
- 직관적이고 아름다운 작업 입력 경험
- 대시보드와 완벽한 디자인 일관성

테스트: http://localhost:20000/pages/common/daily-work-report.html
2025-11-03 13:02:30 +09:00
Hyungi Ahn
bad5584988 enhance: daily-work-report.html 모던 UI 대폭 개선 - 대시보드 일관성 및 사용성 향상
🎨 모던 디자인 시스템 적용:
1. 대시보드와 일관된 디자인 언어:
   - design-system.css 활용한 통일된 색상, 타이포그래피
   - 동일한 카드, 버튼, 애니메이션 스타일
   - 일관된 간격, 그림자, 테두리 반경

2. 새로운 CSS 파일 분리:
   - daily-work-report.css 생성 (673줄)
   - 인라인 스타일 완전 제거 (926줄 → 0줄)
   - 모듈화된 스타일 관리

🚀 사용자 경험 대폭 개선:
1. 모던한 진행 단계 표시:
   - 상단 3단계 진행 바 추가
   - 실시간 단계 상태 표시 (활성/완료)
   - 시각적 진행도 피드백

2. 개선된 레이아웃 구조:
   - 헤더: 그라데이션 배경, 중앙 정렬
   - 메인: 최대 너비 1200px, 중앙 배치
   - 카드: 일관된 패딩, 그림자, 테두리

3. 향상된 작업자 선택 UI:
   - worker-btn → worker-card 클래스 변경
   - 카드형 디자인으로 시각적 개선
   - 호버 효과: 상단 컬러 바, 배경 변화
   - 선택 상태: 그라데이션 배경, 흰색 텍스트

 인터랙션 개선:
1. 버튼 디자인 통일:
   - 일관된 패딩, 높이 (48px)
   - 호버 효과: translateY(-2px), 그림자 확대
   - 색상: primary, success, secondary 통일

2. 폼 요소 개선:
   - form-input 클래스로 통일된 스타일
   - 포커스 상태: 테두리 색상, 그림자 효과
   - 라벨: 명확한 계층 구조

3. 애니메이션 효과:
   - 단계 전환: opacity, transform 애니메이션
   - 카드 호버: translateY, 그림자 변화
   - 부드러운 전환: var(--transition-normal)

📱 반응형 디자인 최적화:
1. 모바일 (768px 이하):
   - 진행 단계: 세로 배치
   - 작업자 그리드: 1열로 변경
   - 패딩, 폰트 크기 조정

2. 태블릿 (1024px 이하):
   - 적절한 그리드 컬럼 수 조정
   - 터치 친화적 버튼 크기

🔧 기술적 개선:
1. JavaScript 업데이트:
   - updateProgressSteps() 함수 추가
   - 진행 단계 실시간 업데이트
   - CSS 클래스명 변경 반영

2. HTML 구조 개선:
   - 시맨틱 태그 활용 (header, main)
   - 접근성 향상 (label, aria 속성)
   - 깔끔한 마크업 구조

🎯 결과:
- 대시보드와 완벽한 디자인 일관성
- 직관적이고 사용하기 쉬운 인터페이스
- 모든 디바이스에서 최적화된 경험
- 프로페셔널한 시각적 품질

테스트: http://localhost:20000/pages/common/daily-work-report.html
2025-11-03 12:56:45 +09:00
Hyungi Ahn
790d12fe13 feat: 토큰 만료 시 자동 로그아웃 기능 추가 및 테이블명 수정
🔐 토큰 만료 시 자동 로그아웃 기능:
1. JWT 토큰 만료 시간 대폭 연장:
   - 액세스 토큰: 24시간 → 7일
   - 리프레시 토큰: 7일 → 30일
   - 사용자 편의성 크게 향상

2. 토큰 만료 감지 및 처리:
   - isTokenExpired() 함수 추가
   - JWT 페이로드 파싱하여 exp 확인
   - 현재 시간과 비교하여 만료 여부 판단

3. 자동 로그아웃 처리:
   - API 호출 시 401 오류 감지
   - 주기적 토큰 만료 확인 (5분마다)
   - 만료 시 자동 인증 데이터 정리
   - 사용자 알림 후 로그인 페이지 리다이렉트

4. 개선된 인증 데이터 관리:
   - clearAuthData() 함수로 통합 관리
   - token, user, userInfo, currentUser 모두 정리
   - 메모리 누수 방지

🐛 데이터베이스 테이블명 수정:
1. projectModel.js:
   - Projects → projects (대문자 → 소문자)
   - 실제 DB 테이블명과 일치

2. taskModel.js:
   - Tasks → tasks (대문자 → 소문자)
   - 실제 DB 테이블명과 일치

3. API 오류 해결:
   - '테이블이 존재하지 않습니다' 오류 수정
   - projects, tasks API 정상 작동

 사용자 경험 개선:
- 토큰 만료로 인한 예상치 못한 오류 방지
- 명확한 만료 알림 메시지
- 자동 로그아웃으로 보안 강화
- 더 긴 세션 유지로 편의성 향상

🔧 기술적 개선:
- JWT 페이로드 안전한 파싱
- 에러 핸들링 강화
- 주기적 백그라운드 확인
- 전역 함수로 재사용성 향상

🎯 결과:
- 안정적인 인증 시스템
- 사용자 친화적인 세션 관리
- 보안성과 편의성의 균형
- API 호출 오류 해결

테스트:
- 토큰 만료 후 자동 로그아웃 확인
- projects, tasks API 정상 작동 확인
2025-11-03 12:49:25 +09:00
Hyungi Ahn
2445b3b29e fix: 대시보드 레이아웃 너비 최적화 - 양쪽 여백 최소화
🎯 문제 해결:
- 빠른 작업 카드들이 가운데 몰려있고 양쪽에 과도한 여백 발생
- 화면 공간 활용도가 낮아 사용자 경험 저하

📐 레이아웃 최적화:
1. 메인 컨테이너 확장:
   - 최대 너비: 1400px → 1600px (200px 확장)
   - 좌우 패딩: var(--space-6) → var(--space-4) (축소)
   - 더 넓은 콘텐츠 영역 확보

2. 카드 그리드 개선:
   - 카드 간격: var(--space-4) → var(--space-6) (확대)
   - 전체 너비 활용: width: 100%, max-width: none
   - 4개 카드가 화면 전체에 균등 분배

 개선 효과:
- 양쪽 여백 최소화로 공간 효율성 극대화
- 카드들이 화면 전체에 균등하게 분산
- 더 넓은 클릭 영역으로 사용성 향상
- 시각적 균형감 개선

📱 반응형 호환성:
- 기존 태블릿/모바일 반응형 디자인 유지
- 데스크톱에서만 확장된 레이아웃 적용
- 모든 디바이스에서 최적화된 경험

🎨 시각적 개선:
- 카드 간 적절한 간격으로 가독성 향상
- 전체적인 레이아웃 밸런스 개선
- 프리미엄 느낌의 넓은 공간 활용

결과: 화면 공간을 효율적으로 활용하는 최적화된 레이아웃

테스트: http://localhost:20000/pages/dashboard/group-leader.html
2025-11-03 12:40:37 +09:00
Hyungi Ahn
0e74ee5fcd enhance: 빠른 작업 카드 프리미엄 디자인 대폭 개선
🎨 프리미엄 카드 디자인:
1. 고급스러운 그라데이션 배경
   - 기본: 화이트 → 라이트 그레이 그라데이션
   - 호버: 화이트 → 블루 틴트 그라데이션
   - 부드러운 색상 전환 효과

2. 동적 상단 그라데이션 바
   - 4색 그라데이션 (블루, 퍼플, 시안, 그린)
   - 3초 주기 애니메이션 효과
   - 호버 시 나타나는 시각적 피드백

 3D 호버 효과:
1. 카드 전체:
   - Y축 -8px 이동 + 2% 확대
   - 고급 그림자 효과 (다층 그림자)
   - 0.4초 cubic-bezier 애니메이션

2. 아이콘 개선:
   - 크기 확대 (64px → 80px)
   - 호버 시 15% 확대 + 5도 회전
   - 색상 변화 (라이트 블루 → 다크 블루)
   - 3D 그림자 및 테두리 효과

🎯 인터랙션 개선:
1. 화살표 버튼:
   - 원형 배경 추가 (32px)
   - 슬라이드 + 스케일 애니메이션
   - 호버 시 블루 그라데이션 활성화

2. 텍스트 색상 변화:
   - 제목: 다크 그레이 → 다크 블루
   - 설명: 미디엄 그레이 → 다크 그레이
   - 부드러운 색상 전환

📱 반응형 최적화:
- 모바일: 아이콘 60px, 회전 각도 3도로 조정
- 태블릿: 2열 그리드 유지
- 데스크톱: 4열 그리드 최적화

🚀 성능 최적화:
- GPU 가속 애니메이션 (transform, opacity)
- 최적화된 cubic-bezier 전환
- 레이어 분리를 통한 렌더링 성능 향상

🎨 시각적 효과:
- 방사형 그라데이션 오버레이
- 다층 그림자 시스템
- 부드러운 색상 전환
- 프리미엄 느낌의 시각적 계층

결과: 사용자 경험을 크게 향상시키는 매력적이고 인터랙티브한 카드 디자인

테스트: http://localhost:20000/pages/dashboard/group-leader.html
2025-11-03 12:25:08 +09:00
Hyungi Ahn
a99fc78167 refactor: 대시보드 레이아웃 대폭 개선 - 요약 카드 제거 및 구조 단순화
🗑️ 불필요한 요소 제거:
- 상단 4개 요약 카드 완전 제거 (오늘 작업자, 총 작업시간, 진행 프로젝트, 오류발생)
- 복잡한 통계 정보 제거로 집중도 향상
- 관련 JavaScript 로직 정리

🔄 레이아웃 구조 개선:
1. 빠른 작업 섹션을 최상단으로 이동
   - 4열 그리드로 확장 (기존 2x2 → 1x4)
   - 전체 너비 활용으로 더 넓은 클릭 영역
   - 주요 기능에 대한 접근성 극대화

2. 오늘의 작업 현황을 전체 너비로 확장
   - 기존 50% → 100% 너비 활용
   - 더 많은 정보 표시 공간 확보
   - 시각적 중요도 강화

🎨 시각적 개선:
1. 작업 현황 컨테이너 개선:
   - 그라데이션 배경 적용
   - 상단 컬러 바 추가 (primary → secondary 그라데이션)
   - 높이 증가 (300px → 400px)
   - 더 세련된 시각적 효과

2. 반응형 디자인 최적화:
   - 데스크톱: 4열 빠른 작업
   - 태블릿: 2열 빠른 작업
   - 모바일: 1열 빠른 작업
   - 작업 현황 높이 자동 조정

 사용자 경험 개선:
- 핵심 기능 우선 배치로 효율성 증대
- 불필요한 정보 제거로 인지 부하 감소
- 더 직관적이고 단순한 인터페이스
- 주요 작업에 대한 빠른 접근성

🎯 결과:
- 깔끔하고 집중된 대시보드
- 주요 기능 접근성 극대화
- 시각적 계층 구조 명확화
- 모든 디바이스에서 최적화된 경험

테스트: http://localhost:20000/pages/dashboard/group-leader.html
2025-11-03 12:14:25 +09:00
Hyungi Ahn
9bf5dc8f0f improve: 대시보드 UI 개선 - 작업자 현황 제거 및 빠른 작업 영역 개선
🗑️ 불필요한 섹션 제거:
- 작업자별 현황 섹션 완전 제거
- 뷰 컨트롤 버튼 (목록형/카드형) 제거
- 관련 JavaScript 로직 정리

🎨 빠른 작업 영역 대폭 개선:
1. 레이아웃 변경:
   - 3열 → 2열 그리드로 변경 (더 넓은 공간 확보)
   - 빠른 작업 영역 확대 (1/3 → 1/2)

2. 카드 디자인 개선:
   - 2x2 그리드 레이아웃으로 4개 카드 배치
   - 큰 아이콘 (64px) 및 중앙 정렬
   - 그라데이션 배경 및 호버 효과
   - 상단 컬러 바 및 화살표 애니메이션

3. 시각적 개선:
   - 카드 높이 통일 (160px)
   - 부드러운 호버 애니메이션 (translateY, scale)
   - 아이콘 확대 효과 및 그라데이션
   - 더 자세한 설명 텍스트

 사용자 경험 개선:
- 핵심 기능에 집중된 깔끔한 레이아웃
- 직관적이고 매력적인 카드 디자인
- 반응형 디자인 (모바일: 1열, 태블릿: 2열)
- 접근성 향상 (큰 클릭 영역, 명확한 피드백)

🎯 결과:
- 불필요한 정보 제거로 집중도 향상
- 주요 기능 접근성 대폭 개선
- 모던하고 직관적인 사용자 인터페이스

테스트: http://localhost:20000/pages/dashboard/group-leader.html
2025-11-03 12:10:44 +09:00
Hyungi Ahn
68e3c68880 refactor: 로그인 페이지 개선 - 문서 관리 시스템 제거 및 브라우저 호환성 개선
🗑️ 불필요한 기능 제거:
- 문서 관리 시스템 섹션 완전 제거
- 관련 CSS 스타일 정리
- 깔끔한 로그인 페이지 구성

🔧 JavaScript 브라우저 호환성 개선:
1. api-helper.js:
   - ES6 import/export → 브라우저 호환 스크립트
   - 함수들을 window 객체에 등록
   - 의존성 제거 (API_BASE_URL, getToken, clearAuthData 직접 구현)

2. login.js:
   - ES6 import 제거
   - saveAuthData, clearAuthData 직접 구현
   - window.login 함수 사용

3. index.html:
   - type="module" 제거
   - 스크립트 로딩 순서 최적화 (api-config.js → api-helper.js → login.js)

 개선 효과:
- SyntaxError: Importing binding name 'API_BASE_URL' is not found 해결
- 모든 브라우저에서 로그인 기능 정상 작동
- 깔끔하고 집중된 로그인 UI
- 안정적인 스크립트 로딩

🎯 사용자 경험:
- 불필요한 요소 제거로 집중도 향상
- 빠른 로딩 속도
- 오류 없는 안정적인 로그인

테스트: http://localhost:20000/
2025-11-03 12:07:41 +09:00
Hyungi Ahn
3e992ad521 fix: api-config.js의 남은 export 문법 완전 제거
🐛 해결된 문제:
- SyntaxError: Unexpected keyword 'export' (api-config.js:46)
- API 함수를 로드할 수 없는 문제

🔧 수정 내용:
- export function getAuthHeaders() → function getAuthHeaders()
- export async function testApiConnection() → async function testApiConnection()
- 모든 ES6 모듈 문법 완전 제거

 최종 결과:
- 모든 JavaScript 오류 해결
- window.apiCall 정상 로드
- 대시보드 완전 정상 작동

테스트: http://localhost:20000/pages/dashboard/group-leader.html
2025-11-03 12:02:06 +09:00
Hyungi Ahn
e9d78e48a7 fix: 스크립트 로딩 순서 및 의존성 문제 해결
🐛 해결된 문제:
- auth-check.js의 ES6 import 문법 오류
- window.apiCall is not a function 오류
- 스크립트 로딩 순서로 인한 의존성 문제

🔧 수정 내용:
1. auth-check.js:
   - ES6 import 제거 → 함수 직접 구현
   - isLoggedIn, getUser, clearAuthData 내장
   - 모듈 의존성 완전 제거

2. 스크립트 로딩 순서 최적화:
   - api-config.js: defer 제거 (즉시 로드)
   - auth-check.js: defer 유지
   - modern-dashboard.js: defer 유지

3. modern-dashboard.js:
   - API 함수 로드 대기 로직 추가
   - 최대 5초 대기 후 오류 처리
   - 안전한 초기화 보장

 개선 효과:
- 모든 JavaScript 오류 해결
- 안정적인 스크립트 로딩 순서
- API 함수 의존성 문제 해결
- 대시보드 정상 초기화 보장

테스트: http://localhost:20000/pages/dashboard/group-leader.html
2025-11-03 11:59:06 +09:00
Hyungi Ahn
b7388d47b4 fix: JavaScript 모듈 문법 오류 수정 - 브라우저 호환성 개선
🐛 문제 해결:
- SyntaxError: Unexpected token '{'. import call expects one or two arguments
- SyntaxError: Unexpected keyword 'export'
- ES6 모듈 문법이 브라우저에서 제대로 로드되지 않는 문제

🔧 수정 내용:
- modern-dashboard.js: ES6 import/export → 브라우저 호환 스크립트
- api-config.js: export 문법 → window 전역 변수 설정
- group-leader.html: type="module" 제거, 일반 스크립트 로딩

 브라우저 호환성:
- window.API, window.apiCall 전역 변수 사용
- window.getAuthHeaders, window.ensureAuthenticated 함수 제공
- 모든 함수를 window 객체에 등록하여 전역 접근 가능

🚀 개선 효과:
- 모든 브라우저에서 JavaScript 오류 없이 로딩
- 모던 대시보드 기능 정상 작동
- API 호출 및 인증 시스템 안정화

테스트: http://localhost:20000/pages/dashboard/group-leader.html
2025-11-03 11:52:23 +09:00
Hyungi Ahn
b84f48b74a refactor: 기존 group-leader.html 대시보드를 모던 디자인으로 개선
🎯 기존 페이지 개선 (별도 페이지 생성 X):
- group-leader.html을 모던 디자인 시스템으로 완전 리뉴얼
- 기존 복잡한 인라인 스타일 제거 → design-system.css 활용
- modern-dashboard.js 연동으로 실시간 데이터 로딩

 모던 UI/UX 적용:
- 그라데이션 헤더 → 실시간 시간 표시 + 사용자 프로필
- 4개 요약 카드: 작업자 수, 작업 시간, 프로젝트 수, 오류 건수
- 프로젝트별 작업 현황 시각화 (실제 API 데이터 기반)
- 작업자별 현황 카드/리스트 뷰 전환
- 빠른 작업 메뉴 (작업 보고서, 현황 확인, 분석, 관리)

🚀 기능 개선:
- 실시간 데이터 로딩 (작업자, 작업 현황)
- 날짜 선택기로 특정 날짜 조회
- 토스트 알림 시스템
- 로딩/에러 상태 처리
- 반응형 디자인 (모바일 최적화)

🗑️ 정리:
- modern-dashboard.html 삭제 (기존 페이지 개선으로 불필요)
- 기존 복잡한 인라인 CSS 완전 제거
- 일관된 디자인 시스템 적용

접근: http://localhost:20000/pages/dashboard/group-leader.html
2025-11-03 11:48:13 +09:00
Hyungi Ahn
eb98bd79f6 feat: 모던 대시보드 및 디자인 시스템 구축
🎨 한글 기반 모던 디자인 시스템:
- design-system.css: 포괄적인 디자인 토큰 및 컴포넌트 시스템
- CSS 변수 기반 색상, 타이포그래피, 간격, 그림자 체계
- 반응형 그리드, 플렉스 유틸리티, 애니메이션 시스템
- 카드, 버튼, 배지, 상태 표시기 등 재사용 가능한 컴포넌트

📊 모던 대시보드 구현:
- modern-dashboard.html: 깔끔하고 직관적인 대시보드 레이아웃
- 실시간 시간 표시, 사용자 프로필 드롭다운
- 4개 요약 카드: 작업자 수, 작업 시간, 프로젝트 수, 오류 건수
- 프로젝트별 작업 현황 시각화
- 작업자 현황 카드/리스트 뷰 전환 기능

🚀 고급 기능:
- modern-dashboard.js: ES6 모듈 기반 JavaScript
- 실시간 데이터 로딩 및 캐싱
- 토스트 알림 시스템
- 로딩/에러 상태 처리
- 반응형 디자인 (모바일 최적화)

 사용자 경험 개선:
- 부드러운 애니메이션 및 호버 효과
- 직관적인 아이콘 및 한글 레이블
- 접근성 고려 (키보드 네비게이션, 색상 대비)
- 일관된 시각적 계층 구조

접근: http://localhost:20000/pages/dashboard/modern-dashboard.html
2025-11-03 11:41:35 +09:00
Hyungi Ahn
a3da93adc2 fix: 웹 UI JavaScript API 응답 구조 호환성 수정
- 성능 최적화로 변경된 API 응답 구조에 맞춰 JavaScript 수정
- management-dashboard.js: workers 데이터 접근 경로 수정 (data.data 지원)
- manage-worker.js: 작업자 목록 API 응답 구조 수정
- daily-work-report.js: workers, projects 데이터 접근 경로 수정
- login.js: 로그인 API 응답 구조 수정 (result.data.token 접근)

API 응답 구조: { success: true, data: [...], meta: {...} }
2025-11-03 11:17:49 +09:00
Hyungi Ahn
2b97844ed1 feat: 포괄적인 성능 최적화 시스템 구축
- 통합 캐싱 시스템 구축:
  * utils/cache.js: Redis + 메모리 캐시 하이브리드 시스템
  * Redis 연결 실패 시 자동 메모리 캐시 fallback
  * 캐시 키 생성, TTL 관리, 패턴 기반 무효화
  * 캐시 미들웨어 및 무효화 헬퍼 함수

- 데이터베이스 쿼리 최적화:
  * utils/queryOptimizer.js: 쿼리 성능 분석 및 최적화
  * 페이지네이션 헬퍼 (최대 100개 제한)
  * 인덱스 최적화 제안 시스템
  * 배치 삽입 최적화 (100개 단위)
  * 최적화된 쿼리 템플릿 (작업자, 프로젝트, 작업보고서)

- 응답 압축 및 최적화:
  * gzip 압축 미들웨어 (1KB 이상, 레벨 6)
  * 압축 제외 헤더 지원 (x-no-compression)
  * 성능 모니터링 시스템

- 성능 모니터링 API:
  * /api/performance/* 엔드포인트 추가
  * 캐시 통계 및 관리 (조회, 초기화)
  * DB 성능 통계 (연결 수, 슬로우 쿼리)
  * 인덱스 분석 및 최적화 제안
  * 쿼리 실행 계획 분석 (EXPLAIN)
  * 시스템 리소스 모니터링

- 실제 적용 사례:
  * workerController.js에 캐싱 및 페이지네이션 적용
  * 캐시 히트/미스 로깅
  * 캐시 무효화 자동 처리

- 보안 및 권한:
  * 성능 관련 API는 관리자 권한 필요
  * 쿼리 분석은 시스템/관리자만 접근 가능
  * 캐시 초기화는 관리자 전용

- Swagger 문서화:
  * 모든 성능 API 완전 문서화
  * 요청/응답 스키마 및 예시 포함
2025-11-03 11:05:07 +09:00
Hyungi Ahn
dea325739a feat: Swagger/OpenAPI 문서화 시스템 구축
- Swagger 패키지 설치 및 설정:
  * swagger-jsdoc, swagger-ui-express 패키지 추가
  * /api-docs 엔드포인트에서 Swagger UI 제공
  * /api-docs.json 엔드포인트에서 JSON 스펙 제공

- 포괄적인 Swagger 설정 파일 생성:
  * config/swagger.js: OpenAPI 3.0 스펙 정의
  * 공통 스키마 정의 (User, Worker, Project, Task, DailyWorkReport)
  * 표준 응답 스키마 (SuccessResponse, ErrorResponse, PaginatedResponse)
  * JWT Bearer 인증 스키마 설정

- API 문서화 적용:
  * Authentication API: 로그인 엔드포인트 문서화
  * Workers API: 전체 CRUD 작업 문서화
  * 상세한 요청/응답 스키마 및 예시 포함
  * 에러 코드별 응답 정의

- Swagger UI 커스터마이징:
  * 브랜딩 및 UI 개선
  * 인증 토큰 지속성 설정
  * 필터링 및 탐색 기능 활성화

- 접근 방법:
  * http://localhost:20005/api-docs - Swagger UI
  * http://localhost:20005/api-docs.json - JSON 스펙
2025-11-03 11:00:45 +09:00
Hyungi Ahn
775cd12a25 refactor: taskController.js 새로운 유틸리티 적용
- 새로운 에러 처리 시스템 적용:
  * asyncHandler로 비동기 함수 래핑
  * ApiError 클래스로 유효성 검사 에러 처리
  * handleDatabaseError로 DB 에러 표준화
  * handleNotFoundError로 404 에러 표준화

- 새로운 응답 포맷터 적용:
  * res.created() - 작업 생성 성공 응답
  * res.list() - 작업 목록 조회 응답
  * res.success() - 단일 작업 조회 응답
  * res.updated() - 작업 수정 성공 응답
  * res.deleted() - 작업 삭제 성공 응답

- 유효성 검사 개선:
  * ID 파라미터 유효성 검사 추가
  * NaN 체크로 잘못된 ID 요청 차단

- 함수별 개선사항:
  * createTask: 생성 응답 포맷터 적용
  * getAllTasks: 목록 응답 포맷터 적용
  * getTaskById: ID 검증 및 404 처리 개선
  * updateTask: ID 검증 및 수정 응답 포맷터
  * removeTask: ID 검증 및 삭제 응답 포맷터
2025-11-03 10:55:44 +09:00
Hyungi Ahn
34d38b2938 refactor: dailyWorkReportController.js 부분 리팩토링 적용
- 새로운 에러 처리 시스템 적용:
  * asyncHandler로 비동기 함수 래핑
  * ApiError 클래스로 유효성 검사 에러 처리
  * handleDatabaseError로 DB 에러 표준화

- 새로운 응답 포맷터 적용:
  * res.created() - 작업보고서 생성 성공 응답
  * res.success() - 기여자별 요약 조회 응답

- 유효성 검사 시스템 적용:
  * validateSchema로 스키마 기반 검증
  * schemas.createDailyWorkReport 스키마 사용

- 함수별 개선사항:
  * createDailyWorkReport: 스키마 검증 및 생성 응답 포맷터
  * getContributorsSummary: Promise 래핑 및 성공 응답 포맷터

- 참고: 파일이 크므로 핵심 함수들만 우선 적용
  추후 나머지 함수들도 점진적으로 리팩토링 예정
2025-11-03 10:54:51 +09:00
Hyungi Ahn
99210fec1b refactor: projectController.js 새로운 유틸리티 적용
- 새로운 에러 처리 시스템 적용:
  * asyncHandler로 비동기 함수 래핑
  * ApiError 클래스로 유효성 검사 에러 처리
  * handleDatabaseError로 DB 에러 표준화
  * handleNotFoundError로 404 에러 표준화

- 새로운 응답 포맷터 적용:
  * res.created() - 프로젝트 생성 성공 응답
  * res.list() - 프로젝트 목록 조회 응답
  * res.success() - 단일 프로젝트 조회 응답
  * res.updated() - 프로젝트 수정 성공 응답
  * res.deleted() - 프로젝트 삭제 성공 응답

- 유효성 검사 시스템 적용:
  * validateSchema로 스키마 기반 검증
  * schemas.createProject 스키마 사용
  * ID 파라미터 유효성 검사 추가

- 함수별 개선사항:
  * createProject: 스키마 검증 및 생성 응답 포맷터
  * getAllProjects: 목록 응답 포맷터 적용
  * getProjectById: ID 검증 및 404 처리 개선
  * updateProject: ID 검증 및 수정 응답 포맷터
  * removeProject: ID 검증 및 삭제 응답 포맷터
2025-11-03 10:52:39 +09:00
Hyungi Ahn
25e862694e refactor: workerController.js 새로운 유틸리티 적용
- 새로운 에러 처리 시스템 적용:
  * asyncHandler로 비동기 함수 래핑
  * ApiError 클래스로 유효성 검사 에러 처리
  * handleDatabaseError로 DB 에러 표준화
  * handleNotFoundError로 404 에러 표준화

- 새로운 응답 포맷터 적용:
  * res.created() - 작업자 생성 성공 응답
  * res.list() - 작업자 목록 조회 응답
  * res.success() - 단일 작업자 조회 응답
  * res.updated() - 작업자 수정 성공 응답
  * res.deleted() - 작업자 삭제 성공 응답

- 유효성 검사 시스템 적용:
  * validateSchema로 스키마 기반 검증
  * schemas.createWorker 스키마 사용
  * ID 파라미터 유효성 검사 추가

- 함수별 개선사항:
  * createWorker: 스키마 검증 및 생성 응답 포맷터
  * getAllWorkers: 목록 응답 포맷터 적용
  * getWorkerById: ID 검증 및 404 처리 개선
  * updateWorker: ID 검증 및 수정 응답 포맷터
  * removeWorker: ID 검증 및 삭제 응답 포맷터
2025-11-03 10:50:54 +09:00
Hyungi Ahn
d23ecef077 refactor: systemController.js 새로운 유틸리티 적용
- 새로운 에러 처리 시스템 적용:
  * asyncHandler로 비동기 함수 래핑
  * ApiError 클래스 사용으로 일관된 에러 처리
  * handleDatabaseError로 DB 에러 표준화

- 새로운 응답 포맷터 적용:
  * res.health() - 시스템 상태 응답
  * res.success() - 일반 성공 응답
  * res.list() - 목록 조회 응답
  * res.created() - 생성 성공 응답

- 유효성 검사 시스템 적용:
  * validateSchema로 스키마 기반 검증
  * schemas.createUser 스키마 사용

- 함수별 개선사항:
  * getSystemStatus: 헬스체크 포맷터 적용
  * getDatabaseStatus: 성공 응답 포맷터 적용
  * getAllUsers: 목록 응답 포맷터 적용
  * createUser: 스키마 검증 및 생성 응답 포맷터 적용
2025-11-03 10:49:36 +09:00
Hyungi Ahn
4716434d65 refactor: API 서버 구조 개선 및 표준화
- 통합 에러 처리 시스템 구축:
  * utils/errorHandler.js: ApiError 클래스 및 에러 미들웨어
  * 데이터베이스, 유효성 검사, 권한 에러 표준화
  * 비동기 함수 래퍼 (asyncHandler) 추가

- 응답 포맷터 시스템 구축:
  * utils/responseFormatter.js: 일관된 API 응답 형식
  * 성공, 페이지네이션, 인증, 파일업로드 등 전용 포맷터
  * Express 응답 확장 미들웨어

- 유효성 검사 시스템 구축:
  * utils/validator.js: 스키마 기반 유효성 검사
  * 필수 필드, 타입, 길이, 형식 검사 함수들
  * 일반적인 스키마 정의 (사용자, 프로젝트, 작업보고서 등)

- 코드 정리 및 표준화:
  * 삭제된 테이블 참조 제거 (work_report_audit_log 등)
  * 대문자 테이블명을 소문자로 통일 (Users -> users)
  * authController.js에 새로운 유틸리티 적용 예시

- 미들웨어 통합:
  * index.js에 에러 핸들러 및 응답 포맷터 적용
  * 헬스체크 엔드포인트 개선
2025-11-03 10:42:29 +09:00
Hyungi Ahn
31e941cfbd merge: 원격 저장소 변경사항과 로컬 리팩토링 작업 병합
- WorkAnalysis.js 충돌 해결 (소문자 테이블명 유지)
- 원격 저장소의 새로운 마이그레이션 파일들과 통합
2025-11-03 09:27:42 +09:00
Hyungi Ahn
94ecc7333d feat: 데이터베이스 및 웹 UI 대규모 리팩토링
- 삭제된 DB 테이블들과 관련 코드 정리:
  * 12개 사용하지 않는 테이블 삭제 (activity_logs, CuttingPlan, DailyIssueReports 등)
  * 관련 모델, 컨트롤러, 라우트 파일들 삭제
  * index.js에서 삭제된 라우트들 제거

- 웹 UI 페이지 정리:
  * 21개 사용하지 않는 페이지 삭제
  * issue-reports 폴더 전체 삭제
  * 모든 사용자 권한을 그룹장 대시보드로 통일

- 데이터베이스 스키마 정리:
  * v1 스키마로 통일 (daily_work_reports 테이블)
  * JSON 데이터 임포트 스크립트 구현
  * 외래키 관계 정리 및 데이터 일관성 확보

- 통합 Docker Compose 설정:
  * 모든 서비스를 단일 docker-compose.yml로 통합
  * 20000번대 포트 유지
  * JWT 시크릿 및 환경변수 설정

- 문서화:
  * DATABASE_SCHEMA.md: 현재 DB 스키마 문서화
  * DELETED_TABLES.md: 삭제된 테이블 목록
  * DELETED_PAGES.md: 삭제된 페이지 목록
2025-11-03 09:26:50 +09:00
hyungi
5ff0c7cd60 feat: 모델 및 데이터베이스 구조 개선
- 모델 파일들의 데이터베이스 연결 및 쿼리 최적화
- 마이그레이션 파일 정리 및 통합
- Docker 설정 파일 추가
- 프로젝트 시작/중지 스크립트 추가
- README 및 문서 업데이트
2025-10-27 10:01:12 +09:00
hyungi
f96604b01e 맥미니 푸시 테스트 20251015_175039 2025-10-15 17:50:39 +09:00
Hyungi Ahn
2a3feca45b feat: 시스템 관리자 대시보드 개선
- 시스템 관리자 전용 웹페이지 구현 (system.html)
- 깔끔한 흰색 배경의 올드스쿨 스타일 적용
- 반응형 그리드 레이아웃으로 카드 배치 개선
- ES6 모듈 방식으로 JavaScript 구조 개선
- 이벤트 리스너 방식으로 버튼 클릭 처리 변경
- 시스템 상태, 사용자 통계, 계정 관리 기능 구현
- 시스템 로그 조회 기능 추가
- 나머지 관리 기능들 스켈레톤 구현 (개발 중 상태)
- 인코딩 문제 해결을 위한 영어 로그 메시지 적용
- hyungi 계정을 system 권한으로 설정
- JWT 토큰에 role 필드 추가
- 시스템 전용 API 엔드포인트 구현

주요 변경사항:
- web-ui/pages/dashboard/system.html: 시스템 관리자 전용 페이지
- web-ui/css/system-dashboard.css: 시스템 대시보드 전용 스타일
- web-ui/js/system-dashboard.js: 시스템 대시보드 로직
- api.hyungi.net/controllers/systemController.js: 시스템 API 컨트롤러
- api.hyungi.net/routes/systemRoutes.js: 시스템 API 라우트
- api.hyungi.net/controllers/authController.js: 시스템 권한 로그인 처리
- api.hyungi.net/services/auth.service.js: JWT 토큰에 role 필드 추가
2025-08-18 11:16:18 +09:00
Hyungi Ahn
809b2af53e 해당 서비스 도커화 성공, 룰 추가, 로그인 오류 수정, 소문자 룰 어느정도 해결 2025-08-01 15:55:27 +09:00
Hyungi Ahn
ef06cec8d6 fix: 보안 취약점 해결 및 인증 시스템 오류 수정
- npm audit fix로 tar-fs, brace-expansion 취약점 해결
- analysisRoutes.js에서 authMiddleware import 오류 수정
- dailyWorkReportController.js에 누락된 getAccumulatedReports 함수 추가
- JWT 인증 시스템 정상 작동 확인 완료
2025-07-31 10:42:53 +09:00
a1b7d3c5df perf(frontend): 프로젝트 분석 페이지 성능 최적화
- 백엔드 집계 API(/api/analysis)를 연동하여 프론트엔드 데이터 처리 로직 제거
- 불필요해진 project-analysis-data.js 파일 삭제
- 페이지 로딩 및 데이터 분석 속도를 획기적으로 개선
2025-07-28 15:21:19 +09:00
7c6940307e feat(backend): 프로젝트 분석 API 구현
- 프론트엔드의 데이터 가공 로직을 백엔드로 이전하여 성능 개선
- 단일 API 호출로 모든 집계 데이터를 반환하도록 C-S-M 아키텍처 구현
2025-07-28 15:13:43 +09:00
187c3fec07 feat(frontend): 프로젝트 분석 페이지 전체 리팩토링
- 600줄에 달하는 project-analysis.js를 API, Data, UI, Controller 네 개의 모듈로 분리
- 복잡한 데이터 처리 로직과 UI 렌더링 로직을 분리하여 유지보수성 극대화
- 전역 상태를 최소화하고 데이터 흐름을 명확하게 개선
2025-07-28 14:43:22 +09:00
7c5a985166 refactor(frontend): 프로젝트 분석 페이지 전체 리팩토링
- 600줄에 달하는 project-analysis.js 파일을 API, Data, UI, Controller 네 개의 모듈로 분리
- 복잡한 데이터 처리 로직을 data 모듈로 위임하고, UI 렌더링 코드를 ui 모듈로 분리하여 관심사 분리 원칙(SoC) 적용
- 전역 상태를 최소화하고 데이터 흐름을 명확하게 개선하여 유지보수성 및 안정성 향상
2025-07-28 14:22:36 +09:00
e3b2718767 refactor(backend): 일일 이슈 보고 API 전체 리팩토링
- dailyIssueReport 기능을 Controller-Service-Model 아키텍처로 재구성
- Model 계층을 Promise 기반으로 전환하고 트랜잭션을 적용하여 안정성 확보
- API 전반의 코드 품질 및 유지보수성 향상
2025-07-28 12:41:41 +09:00
5268fec1ef refactor(frontend): 일일 이슈 보고 기능 모듈화
- daily-issue.js를 API, UI, Controller 로직으로 분리
- 프로젝트 전반에 일관된 아키텍처 패턴을 적용하여 유지보수성 향상
2025-07-28 12:39:29 +09:00
71c06f38b1 refactor(backend): 작업 보고서 통계/요약 API 구조 개선
- dailyWorkReportController의 통계/요약 함수를 C-S-M 아키텍처에 맞게 리팩토링
- Model 계층의 콜백 기반 함수를 Promise 기반으로 전환
- API의 일관성 및 유지보수성 향상
2025-07-28 12:35:50 +09:00
5a68ced13b feat(frontend): 작업 보고서 뷰어 기능 전체 리팩토링
- 765줄의 daily-report-viewer.js를 API, UI, Export, Controller의 4개 모듈로 분리
- 관심사 분리를 통해 코드의 가독성, 테스트 용이성, 유지보수성을 극적으로 향상
- 프로젝트 전반의 코드 일관성 확보 및 레거시 로직 제거
2025-07-28 12:32:27 +09:00
ef85a880e5 refactor(frontend): 작업 보고서 생성 기능 모듈화
- API, UI, Controller 로직을 work-report-api.js, work-report-ui.js, work-report-create.js로 분리
- 관심사 분리를 통해 코드의 재사용성 및 유지보수성 향상
2025-07-28 12:28:06 +09:00
892215a15d refactor(frontend): 대시보드 섹션 로더 로직 개선
- admin.html의 잘못된 스크립트 태그 제거
- load-sections.js 리팩토링으로 코드 중복 제거 및 성능 최적화
- Promise.all과 DOMParser를 활용하여 화면 깜빡임 없이 동적 컨텐츠 로드
2025-07-28 12:05:27 +09:00
8d7422d376 feat(frontend): 공통 UI 로더 및 대시보드 구조 개선
- auth-check, load-navbar, load-sidebar 리팩토링
- auth.js 모듈을 활용하여 코드 중복 제거 및 일관성 확보
- DOMParser를 사용하여 컴포넌트 로딩 시 화면 깜빡임 현상 해결
- user-dashboard에 API 연동을 위한 견고한 기반 코드 마련
2025-07-28 12:03:52 +09:00
e0e0b1ad99 refactor(auth): 프론트엔드/백엔드 로그인 로직 개선
- 프론트엔드: login.js, api-helper.js, auth.js 모듈화 및 책임 분리
- 백엔드: authController가 역할 기반 redirectUrl을 제공하도록 수정
- 로그인 프로세스의 안정성 및 유지보수성 향상
2025-07-28 12:00:30 +09:00
d154514fa0 refactor: 일일 작업 보고서 CRUD API 구조 개선
- dailyWorkReportController의 조회, 수정, 삭제(CRUD) 로직을 Service와 Model로 분리
 - Promise 기반의 async/await 구조로 비동기 코드 개선
 - 새로운 DB 스키마 v2의 명명 규칙 적용
2025-07-28 11:19:28 +09:00
97e32a7057 feat: 일일 작업 보고서 생성 API 구조 개선 (C-S-M 패턴 적용)
- dailyWorkReportController의 생성 로직을 Service와 Model로 분리
 - Service: 데이터 유효성 검사 등 비즈니스 로직 담당
 - Model: 트랜잭션을 사용한 DB 쿼리 담당
 - Controller: HTTP 요청/응답 처리만 담당하도록 단순화
2025-07-28 11:14:48 +09:00