feat: TK 안전관리 플랫폼 초기 구현

위험성평가, 안전 RAG Q&A, 안전점검 체크리스트를 통합한
안전관리자 전용 웹 플랫폼 전체 구현.

- Next.js 15 (App Router) + TypeScript + Tailwind + shadcn/ui
- Drizzle ORM + PostgreSQL 16 (12개 테이블)
- 위험성평가 CRUD + 5x5 위험성 매트릭스 + 인쇄 내보내기
- 체크리스트 템플릿/점검/NCR 추적
- RAG 문서 파이프라인 (Tika + bge-m3 + Qdrant)
- SSE 스트리밍 RAG 채팅 (qwen3.5:35b-a3b)
- AI 어시스트 (위험요인 추천, 감소대책, 점검항목 생성)
- 대시보드 통계/차트 (recharts)
- 단일 사용자 인증 (HMAC 쿠키 세션)
- 다크모드 지원
- Docker 멀티스테이지 빌드 (standalone)
- 프로젝트 가이드 문서 (docs/)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-03 12:33:55 +09:00
parent 6e01d783c4
commit 2a9968fa7f
103 changed files with 14992 additions and 91 deletions

71
docs/features.md Normal file
View File

@@ -0,0 +1,71 @@
# TK 안전관리 - 기능 가이드
## 1. 위험성평가 (Risk Assessment)
### 평가 작성
1. 대시보드 또는 위험성평가 페이지에서 "새 평가" 클릭
2. 기본 정보 입력 (제목, 부서, 장소, 평가자)
3. 평가 생성 후 유해위험요인 추가
### 유해위험요인 등록
- **수동 입력**: "위험요인 추가" 버튼 → 분류, 작업, 위험요인, 중대성(1-5) × 가능성(1-5)
- **AI 추천**: "AI 추천" 버튼 → 작업 설명 입력 → AI가 위험요인 분석 → "추가" 클릭
### 위험성 매트릭스
- 5×5 매트릭스 자동 시각화
- 위험등급: 저위험(1-4), 보통(5-9), 고위험(10-16), 매우위험(17-25)
### AI 감소대책 제안
- 각 위험요인 행의 "대책 제안" 클릭
- 제거 → 대체 → 공학적 → 관리적 → PPE 계층별 제안
### 상태 워크플로
초안 → 검토 → 승인 → 보관
### 인쇄/내보내기
- "인쇄" 버튼으로 고용노동부 양식 기반 인쇄 페이지 열기
- 브라우저 인쇄(Ctrl+P)로 PDF 저장 가능
## 2. 안전 Q&A (RAG)
### 문서 업로드
1. "문서 관리" 탭 선택
2. 카테고리 선택 (산업안전보건법, KOSHA 가이드, 사내규정, 안전작업절차서, 기타)
3. 파일 선택 (PDF, HWP, DOCX 등)
4. 자동 처리: Tika 추출 → 청킹 → 임베딩 → Qdrant 저장
### 채팅
1. "채팅" 탭에서 "새 대화" 클릭
2. 질문 입력 (Enter 전송, Shift+Enter 줄바꿈)
3. AI가 업로드된 문서 기반으로 답변 (SSE 스트리밍)
4. 출처 배지로 참고 문서 확인
## 3. 점검 체크리스트
### 템플릿 관리
1. "새 템플릿" 클릭 → 이름, 유형(일상/정기/특별/장비), 설명 입력
2. 점검 항목 추가 (수동 또는 AI 생성)
3. **AI 항목 생성**: "AI 항목 생성" → 작업환경 설명 → AI가 항목 제안 → 개별 또는 전체 추가
### 점검 실행
1. "점검 실행" → 템플릿 선택, 점검자, 장소 입력
2. 각 항목별 합격/불합격/해당없음 선택 + 메모
3. 불합격 항목에서 NCR(부적합) 등록 가능
4. "점검 완료" 클릭
### 부적합 사항 (NCR) 추적
- 상태 흐름: 미조치 → 시정조치 중 → 확인 중 → 종결
- "부적합" 탭에서 전체 NCR 현황 관리
## 4. 대시보드
- **통계 카드**: 총 평가 수, 점검 수, 미조치 NCR, RAG 문서 수
- **위험등급 분포 차트**: 전체 위험요인의 등급별 분포 (막대 차트)
- **부적합 현황 차트**: NCR 상태별 분포 (파이 차트)
- **빠른 실행**: 새 위험성평가, 안전 Q&A, 점검 실행 바로가기
## 5. 설정
- **테마**: 라이트/다크 모드 전환
- **서비스 연결 상태**: Ollama, Embedding, Qdrant, Tika 연결 확인
- **시스템 정보**: 버전, 프레임워크, 모델 정보