- 새로운 에러 처리 시스템 적용:
* asyncHandler로 비동기 함수 래핑
* ApiError 클래스 사용으로 일관된 에러 처리
* handleDatabaseError로 DB 에러 표준화
- 새로운 응답 포맷터 적용:
* res.health() - 시스템 상태 응답
* res.success() - 일반 성공 응답
* res.list() - 목록 조회 응답
* res.created() - 생성 성공 응답
- 유효성 검사 시스템 적용:
* validateSchema로 스키마 기반 검증
* schemas.createUser 스키마 사용
- 함수별 개선사항:
* getSystemStatus: 헬스체크 포맷터 적용
* getDatabaseStatus: 성공 응답 포맷터 적용
* getAllUsers: 목록 응답 포맷터 적용
* createUser: 스키마 검증 및 생성 응답 포맷터 적용
- 시스템 관리자 전용 웹페이지 구현 (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 필드 추가