Hyungi Ahn cddccccf50 feat: 완전한 자재 분류 시스템 v2.0 구축 완료
🎯 주요 성과:
- 8개 주요 자재군 완전 분류 시스템 구축
- 재질 분류 엔진 + 개별 자재별 특화 분류
- 스풀 관리 시스템 (파이프 절단 계획용)
- 실제 BOM 데이터 기반 설계 및 테스트

📁 새로 추가된 자재 분류 시스템:
- app/services/pipe_classifier.py (파이프 + 스풀 관리)
- app/services/fitting_classifier.py (피팅 10가지 타입)
- app/services/flange_classifier.py (플랜지 SPECIAL/STANDARD)
- app/services/valve_classifier.py (밸브 단조/주조 구분)
- app/services/gasket_classifier.py (가스켓 8가지 타입)
- app/services/bolt_classifier.py (볼트/너트/와셔 통합)
- app/services/instrument_classifier.py (계기류 기본)

🔧 분류 성능:
- PIPE: 제조방법, 끝가공, 스케줄, 절단계획
- FITTING: 타입, 연결방식, 압력등급, 제작방법
- FLANGE: SPECIAL(10종)/STANDARD(6종), 면가공
- VALVE: 9가지 타입, 단조/주조 구분, 작동방식
- GASKET: 8가지 타입, 재질별, 온도/압력 범위
- BOLT: 체결재 3종, 나사규격, 강도등급

📊 기술적 특징:
- 정규표현식 기반 패턴 매칭 엔진
- 신뢰도 점수 시스템 (0.0-1.0)
- 증거 기반 분류 추적 (evidence tracking)
- 모듈화 구조로 재사용성 극대화
- 실제 DAT_FILE + DESCRIPTION 패턴 분석

🎯 분류 커버리지:
- 재질: ASTM/ASME 표준 + 특수합금 (INCONEL, TITANIUM)
- 제작방법: FORGED, CAST, SEAMLESS, WELDED 자동 판단
- 압력등급: 150LB ~ 9000LB 전 범위
- 연결방식: BW, SW, THD, FL 등 모든 방식
- 사이즈: 1/8" ~ 48" 전 범위

💾 데이터 통합:
- 기존 materials 테이블과 완전 호환
- 프로젝트/도면 정보 자동 연결
- 스풀 정보 사용자 입력 대기 (파이프만)
- 구매 정보 자동 생성 (공급업체, 납기)

🧪 테스트 완료:
- 각 시스템별 10+ 테스트 케이스
- 실제 BOM 데이터 기반 검증
- 예외 상황 처리 테스트
- 신뢰도 검증 완료

Version: v2.0 (Major Release)
Date: 2024-07-15
Author: hyungiahn
Breaking Changes: 새로운 분류 시스템 추가 (기존 호환성 유지)
Next Phase: files.py 통합 및 웹 인터페이스 연동
2025-07-15 10:05:55 +09:00

아! 이해했습니다! 😅 cat > README.md << 'EOF' 명령어에서 EOF까지의 모든 내용을 한 번에 입력하라는 뜻이에요. 즉, 이 전체 부분을 한 번에 복사해서 터미널에 붙여넣기하면 됩니다: bashcat > README.md << 'EOF'

🚀 TK-MP-Project: BOM 시스템 개발 프로젝트

📋 프로젝트 개요

BOM (Bill of Materials) 시스템의 기능 이상을 해결하고, 도면 완성 후 자재 관리의 모든 프로세스를 자동화하는 종합 시스템 개발 프로젝트입니다.

🎯 프로젝트 목표

핵심 미션

"도면 완성 후 자재 관리의 모든 번거로움을 해결"

주요 해결 과제

  • 📄 파일 분석 자동화: 엑셀/CSV 자재 목록의 자동 분류 및 정제
  • 🔍 정확한 분류 체계: 파이프/피팅/볼트/밸브/계기류의 4단계 자동 분류
  • 💾 체계적 데이터 관리: 프로젝트별 버전 관리 및 이력 추적
  • 📊 업무별 맞춤 출력: 구매/생산/품질 각 팀의 필요에 맞는 자료 생성
  • 🔄 리비전 변화 추적: 도면 변경 시 자재 변경사항 자동 비교

💻 기술 스택

Backend

  • Language: Python 3.9+
  • Framework: FastAPI (고성능 API 서버)
  • Database: PostgreSQL 15 (복잡한 관계형 데이터 처리)
  • ORM: SQLAlchemy (데이터베이스 모델링)
  • Data Processing: Pandas, openpyxl (파일 처리)

DevOps & Tools

  • Containerization: Docker & Docker Compose
  • Version Control: Git (Gitea 호스팅)
  • Development: VS Code + Python 확장

🌐 개발 환경 설정

Git 저장소 접속

# VPN 연결 필요: vpn.hyungi.net:21194
git clone http://192.168.1.227:10300/hyungi/TK-MP-Project.git
cd TK-MP-Project
데이터베이스 실행
bash# PostgreSQL 및 pgAdmin 실행
docker-compose up -d postgres pgadmin redis

# 접속 확인
# pgAdmin: http://localhost:5050 (admin@tkmp.local / admin2025)
Python 개발 환경
bash# 가상환경 생성
python -m venv venv
source venv/bin/activate  # macOS/Linux

# 의존성 설치
pip install -r backend/requirements.txt

# 개발 서버 실행
cd backend
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
📁 프로젝트 구조
TK-MP-Project/
├── README.md
├── docker-compose.yml
├── backend/                 # FastAPI 백엔드
│   ├── app/
│   │   ├── models/         # SQLAlchemy 모델
│   │   ├── schemas/        # Pydantic 스키마
│   │   ├── api/            # API 라우터
│   │   ├── core/           # 설정 및 유틸리티
│   │   ├── services/       # 비즈니스 로직
│   │   └── database/       # DB 연결 설정
│   └── requirements.txt
├── database/               # DB 스키마 및 초기 데이터
│   └── init/
│       └── 01_schema.sql
└── docs/                   # 프로젝트 문서
🚀 개발 로드맵
Phase 1: 기반 시스템 구축 (진행중)

 Git 환경 구축 ✅
 데이터베이스 스키마 설계 ✅
 Docker 개발 환경 설정 ✅
 FastAPI 기본 구조 구현
 파일 업로드 및 파싱 기능

Phase 2: 핵심 기능 개발

 자재 분류 알고리즘 구현
 웹 인터페이스 구축
 구매 BOM 생성 기능

Phase 3: 고도화

 리비전 비교 기능
 파이프 cutting 자료 생성
 사용자 테스트 및 최적화

🗄️ 데이터베이스 스키마
핵심 테이블

projects: 프로젝트 관리 (코드 매칭, 버전 관리)
files: 업로드된 자재 목록 파일들
materials: 개별 자재 상세 정보 (분류 결과 포함)

주요 기능

프로젝트별 파일 버전 관리 (Rev.0, Rev.1, Rev.2)
자재 자동 분류 시스템 (카테고리, 재질, 사이즈)
분류 신뢰도 및 사용자 검증 시스템

📞 개발팀

Lead Developer: hyungi
Gitea Repository: http://192.168.1.227:10300/hyungi/TK-MP-Project

🎯 다음 단계

데이터베이스 실행: docker-compose up -d postgres pgadmin
Python 환경 구축: 가상환경 생성 및 패키지 설치
FastAPI 구조 구현: 기본 API 서버 및 모델 생성


Last Updated: 2025.07.14
Description
회사 관리 프로그램 제작
Readme 7.5 MiB
Languages
JavaScript 51.2%
Python 44%
CSS 2.5%
PLpgSQL 1.7%
Shell 0.5%