- API URL 생성 로직에서 localhost 환경 감지 개선
- 모든 페이지에서 하드코딩된 API URL 제거
- ManagementAPI, InboxAPI 추가로 API 호출 통합
- ProjectsAPI 사용으로 프로젝트 로드 통일
- permissions.js에서 API URL 동적 생성 적용
- 신고 및 완료 사진 5장 지원 (photo_path3, photo_path4, photo_path5 추가)
- 엑셀 일일 리포트 개선:
- 사진 5장 모두 한 행에 일렬 배치 (A, C, E, G, I 열)
- 상태별 색상 구분 (지연중: 빨강, 진행중: 노랑, 완료: 진한 초록)
- 우선순위 기반 정렬 (지연중 → 진행중 → 완료됨)
- 프로젝트 현황 통계 박스 UI 개선 (색상 구분)
- 프론트엔드 모든 페이지 5장 사진 표시 (flex-wrap 레이아웃)
- 관리함, 수신함, 현황판, 신고내용 확인 페이지
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
주요 변경사항:
- 비활성화된 프로젝트 관리 기능 추가
* 프로젝트 관리 페이지에 접을 수 있는 비활성 프로젝트 섹션 추가
* 비활성화된 프로젝트 복구 기능 제공
* 업로드 시에는 활성 프로젝트만 표시되도록 API 호출 분리
- 헤더 비밀번호 변경 기능 완전 구현
* CommonHeader.js에 완전한 비밀번호 변경 모달 구현
* ESC 키 지원, 실시간 유효성 검사, 토스트 메시지 추가
* 중복 코드 제거 및 통일된 함수 호출 구조
- 수신함 수정 내용 표시 문제 해결
* description 우선 표시로 최신 수정 내용 반영
* 관리함에서 final_description/final_category 업데이트 로직 추가
- 현황판 날짜 그룹화 개선
* 업로드일 기준에서 관리함 진입일(reviewed_at) 기준으로 변경
* Invalid Date 오류 해결
- 프로젝트 관리 페이지 JavaScript 오류 수정
* 중복 변수 선언 및 함수 참조 오류 해결
* 페이지 초기화 로직 개선
기술적 개선:
- API 호출 최적화 (active_only 매개변수 명시적 전달)
- 프론트엔드 표시 우선순위 통일 (description || final_description)
- 백엔드 final_* 필드 업데이트 로직 추가
🏢 Department Management System:
- 5개 부서 지원: 생산, 품질, 구매, 설계, 영업
- 사용자 생성/수정 시 부서 선택 가능
- 부서별 사용자 분류 및 표시
📊 Database Schema Updates:
- department_type ENUM 추가 (production, quality, purchasing, design, sales)
- users 테이블에 department 컬럼 추가
- idx_users_department 인덱스 생성 (성능 최적화)
- 014_add_user_department.sql 마이그레이션 실행
🔧 Backend Enhancements:
- DepartmentType ENUM 클래스 추가 (models.py, schemas.py)
- User 모델에 department 필드 추가
- UserBase, UserUpdate 스키마에 department 필드 포함
- 기존 API 엔드포인트 자동 호환
🎨 Frontend UI Improvements:
- 사용자 추가 폼에 부서 선택 드롭다운 추가
- 사용자 목록에 부서 정보 배지 표시 (녹색 배경)
- 사용자 편집 모달 새로 구현
- 부서명 한글 변환 함수 (AuthAPI.getDepartmentLabel)
✨ User Management Features:
- 편집 버튼으로 사용자 정보 수정 가능
- 부서, 이름, 권한 실시간 변경
- 사용자 ID는 수정 불가 (읽기 전용)
- 모달 기반 직관적 UI
🔍 Visual Enhancements:
- 부서 정보 아이콘 (fas fa-building)
- 색상 코딩: 부서(녹색), 권한(빨강/파랑)
- 반응형 레이아웃 (flex-1, gap-3)
- 호버 효과 및 트랜지션
🚀 API Integration:
- AuthAPI.getDepartments() - 부서 목록 반환
- AuthAPI.getDepartmentLabel() - 부서명 변환
- AuthAPI.updateUser() - 부서 정보 포함 업데이트
- 기존 createUser API 확장 지원
Expected Result:
✅ 사용자 생성 시 부서 선택 가능
✅ 사용자 목록에 부서 정보 표시
✅ 편집 버튼으로 부서 변경 가능
✅ 5개 부서 분류 시스템 완성
✅ 직관적인 사용자 관리 UI
- 권한 기반 공통 헤더 컴포넌트 구현
- 모바일 친화적 캘린더 날짜 필터 추가
- 페이지 프리로더 및 키보드 단축키 시스템 구현
- Service Worker 기반 캐싱 시스템 추가
Frontend Changes:
- components/common-header.js: 권한 기반 동적 메뉴 생성
- components/mobile-calendar.js: 터치/스와이프 지원 캘린더
- core/permissions.js: 페이지 접근 권한 관리
- core/page-manager.js: 페이지 라이프사이클 관리
- core/page-preloader.js: 페이지 프리로딩 최적화
- core/keyboard-shortcuts.js: 키보드 네비게이션
- css/mobile-calendar.css: 모바일 최적화 캘린더 스타일
- sw.js: 3단계 캐싱 전략 서비스 워커
Removed:
- auth-common.js, common-header.js (구버전 파일들)
- 토큰 저장 키 통일 (access_token으로 일관성 확보)
- 일일공수 페이지 API 스크립트 로딩 순서 수정
- 프로젝트 관리 페이지 비활성 프로젝트 표시 문제 해결
- 업로드 카테고리에 '기타' 항목 추가 (백엔드 schemas.py 포함)
- 비밀번호 변경 기능 API 연동으로 수정
- 프로젝트 드롭다운 z-index 문제 해결
- CORS 설정 및 Nginx 구성 개선
- 비밀번호 해싱 방식 pbkdf2_sha256으로 변경 (bcrypt 72바이트 제한 해결)
- localStorage와 DB ID 불일치 문제 해결
- 프로젝트별 보고서 시간 필터링 수정
- 일반 사용자에게 일일공수 메뉴 숨김
- 공통 헤더 및 인증 시스템 구현
- 프로젝트별 일일공수 분리 기능 추가 (ProjectDailyWork 모델)
- IssuesAPI에서 project_id 누락 문제 수정
- 사용자 인증 통합 (TokenManager 기반)
- 사용자 목록 로드를 localStorage에서 AuthAPI.getUsers()로 변경
- 비밀번호 초기화를 localStorage 조작에서 AuthAPI.resetPassword()로 변경
- 사용자 삭제 기능 백엔드 API 연동 확인
- 사용자 추가/목록/삭제 모든 기능이 백엔드 DB와 동기화됨
- localStorage 하드코딩 문제 해결로 일관된 데이터 관리 구현
Fixes:
- 사용자 추가 후 목록에 표시되지 않던 문제
- 비밀번호 초기화가 실제 DB에 반영되지 않던 문제
- 백엔드 API와 localStorage 간 데이터 불일치 문제
- 목록 관리 페이지에 고급 필터링 시스템 추가
- 프로젝트별, 검토상태별, 날짜별 필터링
- 검토 완료/필요 항목 시각적 구분 및 정렬
- 해결 시간 입력 + 확인 버튼으로 검토 완료 처리
- 부적합 조회 페이지에 동일한 필터링 기능 적용
- 검토 상태에 따른 카드 스타일링 (음영 처리)
- JavaScript 템플릿 리터럴 오류 수정
- 보고서 페이지 프로젝트별 분석 기능 추가
- 프로젝트 선택 드롭다운 추가
- 총 작업 공수를 프로젝트별 일일공수 데이터로 계산
- 부적합 처리 시간, 카테고리 분석, 상세 목록 모두 프로젝트별 필터링
- localStorage 키 이름 통일 (daily-work-data)
- 사진 2장까지 업로드 지원
- 카메라 촬영 + 갤러리 선택 분리
- 이미지 압축 및 최적화 (ImageUtils)
- iPhone .mpo 파일 JPEG 변환 지원
- 카테고리 변경: 치수불량 → 설계미스, 검사미스 추가
- KST 시간대 설정
- URL 해시 처리로 목록관리 페이지 이동 개선
- 로그인 OAuth2 form-data 형식 수정
- 업로드 속도 개선 및 프로그레스바 추가
- 관리자 전용 사용자 관리 페이지 추가
- 사용자 추가/삭제 기능 (한글 ID 지원)
- 비밀번호 변경 기능
- 권한별 메뉴 접근 제한
- 관리자: 모든 메뉴 접근 가능
- 일반 사용자: 일일공수, 부적합등록/조회만 가능
- 이미지 없이 부적합 등록 가능
- 목록 관리에서 이미지 수정 기능
- 작업 시간 확인 버튼 개선
- 부적합 조회 페이지 간소화 (시간순 나열)
- 일일 공수 입력 기능
- 부적합 사항 등록 (이미지 선택사항)
- 날짜별 부적합 조회 (시간순 나열)
- 목록 관리 (인라인 편집, 작업시간 확인 버튼)
- 보고서 생성 (총 공수/부적합 시간 분리)
- JWT 인증 및 권한 관리
- Docker 기반 배포 환경 구성