# M-Project - 작업보고서 시스템 간단하고 효율적인 부적합 사항 관리 및 공수 계산 시스템 ## 🚀 빠른 시작 ### Docker를 사용한 실행 (권장) 1. Docker 컨테이너 실행: ```bash cd M-Project docker-compose up -d ``` 2. 브라우저에서 접속: ``` http://localhost:16080 ``` 3. 로그인: - **관리자**: `hyungi` / `djg3-jj34-X3Q3` - 검사자1: `inspector1` / `pass123` - 검사자2: `inspector2` / `pass456` ### 간단한 웹 서버 실행 (개발용) ```bash cd M-Project python3 -m http.server 16080 ``` ## 📱 주요 기능 ### 1. 프로젝트 관리 (신규 추가 ✨) - **Job No.** 기반 프로젝트 생성 - 관리자 전용 프로젝트 생성 배너 - 프로젝트 목록 조회 및 관리 ### 2. 부적합 등록 (모바일 최적화) - 사진 촬영 또는 업로드 (최대 2장) - 카테고리별 분류 (자재누락, 설계미스, 입고자재 불량, 검사미스) - 상세 설명 입력 ### 3. 목록 관리 - 등록된 부적합 사항 조회 - 작업 시간 입력 - 상태 변경 (신규→진행중→완료) - 추가 메모 작성 ### 4. 일일 공수 관리 - 작업자 수 및 정규/야근 시간 입력 - 날짜별 공수 추적 - 자동 계산 기능 ### 5. 보고서 - 작업 기간 및 총 공수 자동 계산 - 카테고리별 통계 - 부적합 사항 상세 내역 - 인쇄 가능한 형식 ## 📁 파일 구조 ``` M-Project/ ├── index.html # 메인 애플리케이션 ├── Rules.md # 시스템 규칙 및 요구사항 └── README.md # 이 파일 ``` ## 🛠️ 기술 스택 - **Backend**: FastAPI (Python), SQLAlchemy, PostgreSQL - **Frontend**: HTML5, Tailwind CSS, JavaScript (Vanilla) - **Database**: PostgreSQL 15 - **Container**: Docker & Docker Compose - **Web Server**: Nginx - **Authentication**: JWT (JSON Web Token) - **Icons**: Font Awesome ## 📋 데이터 구조 부적합 사항은 다음과 같은 형식으로 저장됩니다: ```javascript { 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: "추가 메모..." // 상세 메모 } ``` ## ⚡ 특징 - **모바일 우선**: 현장에서 스마트폰으로 쉽게 입력 - **실시간 데이터**: PostgreSQL 데이터베이스로 실시간 동기화 - **권한 관리**: 관리자/일반 사용자 역할 기반 접근 제어 - **Docker 기반**: 간편한 배포 및 확장성 - **RESTful API**: 표준 API 설계로 확장 가능 ## 🔒 보안 기능 - **JWT 인증**: 토큰 기반 보안 인증 시스템 - **비밀번호 암호화**: bcrypt 해시를 사용한 안전한 비밀번호 저장 - **권한 기반 접근**: 역할별 API 접근 제어 - **SQL 인젝션 방지**: SQLAlchemy ORM 사용 ## 📚 문서 - **[DATABASE_SCHEMA.md](DATABASE_SCHEMA.md)**: 데이터베이스 스키마 상세 문서 - **[API_DOCUMENTATION.md](API_DOCUMENTATION.md)**: API 엔드포인트 문서 - **[PROJECT_OVERVIEW.md](PROJECT_OVERVIEW.md)**: 프로젝트 전체 구조 및 가이드 ## 📝 라이선스 내부 사용 목적으로 제작됨 --- **최종 업데이트**: 2024-10-24 **버전**: 1.0.0 (프로젝트 관리 기능 추가)