- 실시간 작업장 현황을 지도로 시각화
- 작업장 관리 페이지에서 정의한 구역 정보 활용
- TBM 작업자 및 방문자 현황 표시
주요 변경사항:
- dashboard.html: 작업장 현황 섹션 추가 (기존 작업 현황 테이블 제거)
- workplace-status.js: 지도 렌더링 및 데이터 통합 로직 구현
- modern-dashboard.js: 삭제된 DOM 요소 조건부 체크 추가
시각화 방식:
- 인원 없음: 회색 테두리 + 작업장 이름
- 내부 작업자: 파란색 영역 + 인원 수
- 외부 방문자: 보라색 영역 + 인원 수
- 둘 다: 초록색 영역 + 총 인원 수
기술 구현:
- Canvas API 기반 사각형 영역 렌더링
- map-regions API를 통한 데이터 일관성 보장
- 클릭 이벤트로 상세 정보 모달 표시
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
사용자 관리 API를 컨트롤러/라우터 패턴으로 리팩토링하고,
CORS 및 보안 설정을 별도 파일로 분리하여 코드 구조 개선
주요 변경사항:
- userController.js: 새로운 에러 핸들링 및 로깅 시스템 적용
* ValidationError, NotFoundError, ConflictError 등 커스텀 에러 사용
* logger 유틸리티로 구조화된 로깅
* 관리자 권한 검증 헬퍼 함수 추가
- index.js: 인라인 사용자 관리 라우트 제거 (888 → 605 lines)
* 283줄 감소로 코드 가독성 대폭 향상
* userRoutes 모듈 import 및 사용
- userRoutes.js: 문서화 및 로깅 개선
* JSDoc 헤더 추가
* adminOnly 미들웨어에 로깅 추가
신규 파일:
- config/cors.js: CORS 정책 설정 (허용 origin, 메소드, 헤더)
- config/security.js: Helmet 보안 헤더 설정 (CSP, HSTS, XSS 방지)
- middlewares/activityLogger.js: HTTP 요청/응답 활동 로깅
파일 통계:
- 3개 파일 수정, 3개 파일 추가
- +437 -480 (net -43 lines)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>