# TK-MP-Project Backend 코드 리뷰 요약 ## 1. 전체 구조 - FastAPI + SQLAlchemy 기반 백엔드 - models, schemas, routers, services, api, uploads 등 역할별 디렉토리 분리 - 자재/BOM/스풀/계장 등 플랜트/조선/기계 실무에 특화된 구조 ## 2. 주요 코드 검토 - **main.py**: 앱 진입점, CORS, 라우터 등록, 헬스체크 등 - **routers/**: 파일, 작업(Job) 등 API 엔드포인트 구현 - **services/**: 품목별 분류기(볼트, 밸브, 플랜지, 피팅, 가스켓, 파이프, 계장 등), 스풀 관리, 테스트 코드 - **material_classifier.py**: 재질 분류 공통 모듈, 규격/패턴/키워드 기반 robust 분류 - **spool_manager.py/v2**: 도면-에어리어-스풀 넘버링, 유효성 검증, 자동 추천 등 - **api/**: 과거 버전/백업/보조 코드(실제 서비스는 routers/가 메인) - **테스트 코드**: 다양한 실무 케이스를 print 기반으로 커버(자동화는 미흡) - **materials_schema.py**: 분류기에서 사용하는 규격/패턴/키워드/등급 등 데이터 정의 ## 3. 품목별 분류기 구조 - 볼트/밸브/플랜지/피팅/가스켓/파이프/계장 등 각 품목별로 dict 기반 패턴/키워드/규격 관리 - material_classifier와 연동, 신뢰도/구매정보 등 실무적 정보 제공 - 구조/로직은 유사하나, 각 품목별 실무 특성에 맞는 분류 포인트 반영 ## 4. 테스트 코드 - 다양한 실무 케이스를 print 기반으로 커버 - 자동화(assert) 기반 테스트는 미흡(추후 개선 필요) ## 5. materials_schema.py - 분류기에서 사용하는 규격/패턴/키워드/등급 등 실무적 데이터가 체계적으로 구조화 - 신규 규격/등급/패턴 추가/수정이 용이 --- *2024-07-15 기준, 전체 backend 코드 리뷰 및 구조 요약*