Files
TK-BOM-Project/frontend
Hyungi Ahn 83b90ef05c
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
feat: 자재 관리 페이지 대규모 개선
- 파이프 수량 계산 로직 수정 (단관 개수가 아닌 실제 길이 기반 계산)
- UI 전면 개편 (DevonThink 스타일의 간결하고 세련된 디자인)
- 자재별 그룹핑 로직 개선:
  * 플랜지: 동일 사양별 그룹핑, WN 스케줄 표시, ORIFICE 풀네임 표시
  * 피팅: 상세 타입 표시 (니플 길이, 엘보 각도/연결, 티 타입, 리듀서 타입 등)
  * 밸브: 동일 사양별 그룹핑, 타입/연결방식/압력 표시
  * 볼트: 크기/재질/길이별 그룹핑 (8SET → 개별 집계)
  * 가스켓: 동일 사양별 그룹핑, 재질/상세내역/두께 분리 표시
  * UNKNOWN: 원본 설명 전체 표시, 동일 항목 그룹핑
- 전체 카테고리 버튼 제거 (표시 복잡도 감소)
- 카테고리별 동적 컬럼 헤더 및 레이아웃 적용
2025-09-09 09:24:45 +09:00
..

TK-MP BOM 관리 시스템 - 프론트엔드

React + Material-UI 기반의 BOM(Bill of Materials) 관리 시스템 프론트엔드입니다.

🚀 기능

  • 대시보드: 프로젝트 현황 및 통계 확인
  • 프로젝트 관리: 프로젝트 생성, 수정, 삭제
  • 파일 업로드: 드래그&드롭으로 Excel 파일 업로드
  • 자재 목록: 검색, 필터링, 정렬이 가능한 자재 테이블

🛠️ 기술 스택

  • React 18 - 컴포넌트 기반 UI 라이브러리
  • Material-UI (MUI) - 현대적인 UI 컴포넌트
  • Vite - 빠른 개발 서버 및 빌드 도구
  • React Dropzone - 드래그&드롭 파일 업로드
  • MUI DataGrid - 고성능 데이터 테이블

📦 설치 및 실행

# 의존성 설치
npm install

# 개발 서버 실행 (http://localhost:3000)
npm run dev

# 프로덕션 빌드
npm run build

# 빌드 미리보기
npm run preview

🔗 백엔드 연동

백엔드 서버가 http://localhost:8000에서 실행되고 있어야 합니다.

# 백엔드 서버 실행 (별도 터미널)
cd ../backend
source venv/bin/activate
uvicorn app.main:app --reload

📁 프로젝트 구조

frontend/
├── src/
│   ├── components/
│   │   ├── Dashboard.jsx       # 대시보드
│   │   ├── FileUpload.jsx      # 파일 업로드
│   │   ├── MaterialList.jsx    # 자재 목록
│   │   └── ProjectManager.jsx  # 프로젝트 관리
│   ├── App.jsx                 # 메인 앱
│   ├── main.jsx               # 엔트리 포인트
│   └── index.css              # 전역 스타일
├── package.json
└── vite.config.js

🎯 주요 컴포넌트

Dashboard

  • 프로젝트 통계 및 현황 표시
  • 최근 활동 목록
  • 실시간 데이터 업데이트

FileUpload

  • 드래그&드롭 인터페이스
  • Excel 파일 검증
  • 업로드 진행률 표시
  • 배치 파일 처리

MaterialList

  • 페이지네이션이 있는 데이터 그리드
  • 실시간 검색 및 필터링
  • CSV 내보내기
  • 정렬 및 컬럼 관리

ProjectManager

  • 프로젝트 CRUD 작업
  • 카드 형태의 프로젝트 표시
  • 모달 기반 편집

📱 반응형 디자인

  • 모바일, 태블릿, 데스크톱 지원
  • Material-UI의 Grid 시스템 활용
  • 적응형 네비게이션

🔧 개발 도구

  • ESLint - 코드 품질 검사
  • Vite HMR - 빠른 핫 리로드
  • React DevTools - 디버깅 지원

🚀 성능 최적화

  • 컴포넌트 지연 로딩
  • 메모이제이션 적용
  • 번들 크기 최적화
  • API 요청 최적화