- 일일 공수 입력 기능 - 부적합 사항 등록 (이미지 선택사항) - 날짜별 부적합 조회 (시간순 나열) - 목록 관리 (인라인 편집, 작업시간 확인 버튼) - 보고서 생성 (총 공수/부적합 시간 분리) - JWT 인증 및 권한 관리 - Docker 기반 배포 환경 구성
2.6 KiB
2.6 KiB
M-Project - 작업보고서 시스템
간단하고 효율적인 부적합 사항 관리 및 공수 계산 시스템
🚀 빠른 시작
- 웹 서버 실행:
cd M-Project
python3 -m http.server 16080
- 브라우저에서 접속:
http://localhost:16080
- 로그인:
- 검사자1:
inspector1/pass123 - 검사자2:
inspector2/pass456 - 관리자:
admin/admin123
📱 주요 기능
1. 부적합 등록 (모바일 최적화)
- 사진 촬영 또는 업로드
- 위치, 카테고리, 설명 입력
- 긴급도 선택 (낮음/보통/높음)
2. 목록 관리
- 등록된 부적합 사항 조회
- 작업 시간 입력
- 상태 변경 (신규→진행중→완료)
- 추가 메모 작성
3. 보고서
- 작업 기간 및 총 공수 자동 계산
- 긴급도별 통계
- 부적합 사항 상세 내역
- 인쇄 가능한 형식
📁 파일 구조
M-Project/
├── index.html # 메인 애플리케이션
├── Rules.md # 시스템 규칙 및 요구사항
└── README.md # 이 파일
🛠️ 기술 스택
- Frontend: HTML5, Tailwind CSS, JavaScript (Vanilla)
- Storage: LocalStorage (브라우저 로컬 저장)
- Icons: Font Awesome
- Charts: Chart.js
📋 데이터 구조
부적합 사항은 다음과 같은 형식으로 저장됩니다:
{
id: 1234567890, // 타임스탬프
photo: "data:image/jpeg;base64...", // Base64 이미지
location: "2층 회의실", // 위치
category: "safety", // 카테고리
description: "안전 장비 미착용", // 설명
urgency: "high", // 긴급도
status: "new", // 상태
reporter: "inspector1", // 보고자 ID
reporterName: "검사자1", // 보고자 이름
reportDate: "2025-09-17T10:30:00", // 보고 일시
workHours: 2.5, // 작업 시간
detailNotes: "추가 메모..." // 상세 메모
}
⚡ 특징
- 모바일 우선: 현장에서 스마트폰으로 쉽게 입력
- 오프라인 작동: 인터넷 연결 없이도 사용 가능
- 간단한 설치: 별도의 서버나 데이터베이스 불필요
- 즉시 사용: 웹 서버만 실행하면 바로 사용
🔒 보안 주의사항
현재 버전은 프로토타입으로:
- 사용자 인증이 간단함 (하드코딩된 계정)
- 데이터가 브라우저에만 저장됨
- 실제 운영 환경에서는 백엔드 서버 구축 필요
📝 라이선스
내부 사용 목적으로 제작됨
작성일: 2025-09-17