13c375477a2a924a02b4bcfec7beb98614458f1c
✅ 주요 완성 기능: - 프로젝트 생성 API (project_name 필드 포함) - 엑셀 파일 업로드 및 파싱 시스템 - 자재 DB 저장 (2837개 자재 성공 저장) - 자재 조회 및 요약 통계 API - 외래키 관계 정상 동작 (projects -> files -> materials) 📊 테스트 결과: - MP7 PIPING PROJECT Rev.2 프로젝트 생성 - 00.MP7 PIPING R.2_BOM.XLS 파일 업로드 성공 - NIPPLE, PIPE 등 자재 분류 및 재질 추출 - ASTM A106, SCH 80, 1인치 사이즈 등 정확 파싱 🛠️ 기술 스택: - FastAPI + PostgreSQL + SQLAlchemy - pandas를 활용한 엑셀 파싱 - 외래키 제약조건 적용된 정규화 DB 설계
아! 이해했습니다! 😅 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
Languages
JavaScript
51.2%
Python
44%
CSS
2.5%
PLpgSQL
1.7%
Shell
0.5%