- 통합 에러 처리 시스템 구축:
* utils/errorHandler.js: ApiError 클래스 및 에러 미들웨어
* 데이터베이스, 유효성 검사, 권한 에러 표준화
* 비동기 함수 래퍼 (asyncHandler) 추가
- 응답 포맷터 시스템 구축:
* utils/responseFormatter.js: 일관된 API 응답 형식
* 성공, 페이지네이션, 인증, 파일업로드 등 전용 포맷터
* Express 응답 확장 미들웨어
- 유효성 검사 시스템 구축:
* utils/validator.js: 스키마 기반 유효성 검사
* 필수 필드, 타입, 길이, 형식 검사 함수들
* 일반적인 스키마 정의 (사용자, 프로젝트, 작업보고서 등)
- 코드 정리 및 표준화:
* 삭제된 테이블 참조 제거 (work_report_audit_log 등)
* 대문자 테이블명을 소문자로 통일 (Users -> users)
* authController.js에 새로운 유틸리티 적용 예시
- 미들웨어 통합:
* index.js에 에러 핸들러 및 응답 포맷터 적용
* 헬스체크 엔드포인트 개선
- 시스템 관리자 전용 웹페이지 구현 (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 필드 추가