백엔드 변경사항:
- fMain.cs: 포트 7979~8000 범위에서 자동 탐색 및 fallback 기능 추가
- 성공한 포트를 Pub.WebServiceURL에 자동 저장
- 포트 충돌 시 자동으로 다음 포트 시도
프론트엔드 변경사항:
- login.html: 하드코딩 URL 3곳을 상대 경로로 변경
- Common.html: 하드코딩 URL 4곳을 상대 경로로 변경
- DashBoard/index.html: 하드코딩 URL 10곳을 상대 경로로 변경
효과:
- 포트 충돌 시 사용자 개입 없이 자동 해결
- 포트 변경에 무관하게 프론트엔드 자동 동작
- 다양한 환경에서 안정적인 서비스 제공
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- MailService.cs 추가: ServiceBase 상속받는 Windows 서비스 클래스
- Program.cs 수정: 서비스/콘솔 모드 지원, 설치/제거 기능 추가
- 프로젝트 설정: System.ServiceProcess 참조 추가
- 배치 파일 추가: 서비스 설치/제거/콘솔실행 스크립트
주요 기능:
- Windows 서비스로 백그라운드 실행
- 명령행 인수로 모드 선택 (-install, -uninstall, -console)
- EventLog를 통한 서비스 로깅
- 안전한 서비스 시작/중지 처리
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 솔루션 설정 및 프로젝트 파일 업데이트
- BaseController 최적화 (HtmlAgilityPack 의존성 제거)
- CommonController 네비게이션 메뉴에 프로젝트 추가
- JobreportController 사용자 조회 기능 및 필터링 개선
- 모든 웹 화면 UI/UX 통합 및 일관성 개선
- 프로그램 시작 시 중복 실행 감지 개선
- 각종 폼 및 데이터셋 디자이너 업데이트
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 새로운 프로젝트 관리 화면 추가 (ProjectController, ProjectModel)
- 로그인된 사용자 기반 필터링 기능 구현
- 프로젝트 CRUD 기능 완성 (생성, 조회, 수정, 삭제)
- 컬럼 표시/숨김 기능으로 사용자 정의 뷰 지원
- 상태별 프로젝트 현황 대시보드
- 엑셀 내보내기 기능
- 반응형 디자인 및 glass-effect UI 적용
- 할일관리/근태관리와 일관된 레이아웃 구조
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Todo 상태 관리 시스템 추가 (대기, 진행, 보류, 완료, 취소)
- 완료일(okdate) 자동 설정 기능 구현
- 대시보드 할일 목록에서 만료일 지난 항목 적색 배경 강조
- 휴가신청 목록에서 항목별 색상 구분 (대체=노란색, 년차=녹색, 하기=파란색)
- 휴가신청 목록 데이터 매핑 수정 (holydays, holytimes, HolyReason)
- Todo 정렬 순서 개선 (상태별 우선순위 적용)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Todo CRUD 기능 구현 (TodoController, TodoModel)
- 서버 기반 공통 네비게이션 시스템 구축
- 모든 웹 페이지에 통일된 네비게이션 적용
- Todo 테이블 행 클릭으로 편집 모달 직접 접근 기능
- 네비게이션 메뉴 서버 설정 및 폴백 시스템
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>