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 필드 추가
This commit is contained in:
Hyungi Ahn
2025-08-18 11:16:18 +09:00
parent 809b2af53e
commit 2a3feca45b
14 changed files with 2797 additions and 27 deletions

View File

@@ -192,7 +192,8 @@ const healthRoutes = require('./routes/healthRoutes');
const pipeSpecRoutes = require('./routes/pipeSpecRoutes');
const dailyWorkReportRoutes = require('./routes/dailyWorkReportRoutes');
const workAnalysisRoutes = require('./routes/workAnalysisRoutes');
const analysisRoutes = require('./routes/analysisRoutes'); // 새로운 분석 라우트
const analysisRoutes = require('./routes/analysisRoutes');
const systemRoutes = require('./routes/systemRoutes'); // 새로운 분석 라우트
// 🔒 인증 미들웨어 가져오기
const { verifyToken } = require('./middlewares/authMiddleware');
@@ -307,6 +308,9 @@ app.use('/api/analysis', analysisRoutes); // 새로운 분석 라우트 등록
// 📊 리포트 및 분석
app.use('/api/workreports', workReportRoutes);
// 🔧 시스템 관리 (시스템 권한만)
app.use('/api/system', systemRoutes);
app.use('/api/uploads', uploadRoutes);
// ⚙️ 시스템 데이터들 (모든 인증된 사용자)