[Project] QR Label Studio: 엑셀 데이터를 전문적인 QR 라벨 시트로 변환하기
많은 양의 자산이나 물류를 관리할 때 QR 코드는 필수적입니다. 하지만 엑셀에 정리된 수백 개의 데이터를 일일이 QR 코드로 만들고, 또 이를 출력용 라벨지에 딱 맞게 배치하는 작업은 매우 번거롭습니다.
이러한 문제를 해결하기 위해 개발한 QR Label Studio는 사용자가 엑셀 파일을 업로드하면 클릭 몇 번만으로 폼텍(Formtec) 규격에 맞춘 완벽한 PDF 라벨 시트를 생성해 주는 웹 어플리케이션입니다.
🚀 주요 기능 (Key Features)
1. 스마트 데이터 처리
- 엑셀 벌크 업로드:
rack_id가 포함된 엑셀 파일을 업로드하면 시스템이 자동으로 모든 항목을 분석하여 개별 QR 코드를 생성합니다. - 실시간 미리보기: 라벨 크기, 여백, QR 비율 등을 조정할 때마다 우측 미리보기 패널에서 실제 출력될 모습을 즉시 확인할 수 있습니다.
2. 정교한 라벨 디자인 설정
- 표준 규격 지원: 대중적으로 사용되는 폼텍(Formtec)의 다양한 규격(3101, 31022, 3105 등)을 기본 프리셋으로 제공합니다.
- 커스텀 규격 모달: 규격에 없는 특수 라벨지를 사용하더라도 행/열 개수, 밀리미터(mm) 단위의 여백 및 간격을 직접 입력하여 대응할 수 있습니다.
- 디자인 커스텀: QR 코드 내부에 텍스트(ID)를 삽입하거나, 브랜드 로고를 중앙에 배치하는 프리미엄 스타일링 기능을 제공합니다.
3. 고품질 출력물 생성
- 고해상도 PDF: ReportLab 엔진을 사용하여 인쇄 시 깨짐 없는 600 DPI 기반의 고해상도 PDF 시트를 생성합니다.
- 자동 클리닝: 서버 리소스 관리를 위해 생성된 세션 파일(PDF 및 이미지)은 3일 후 자동으로 삭제되는 백그라운드 태스크가 동작합니다.
🛠 기술 스택 (Tech Stack)
- Frontend: React, Vite, Tailwind CSS, Lucide React (UI 아이콘)
- Backend: FastAPI (Python), Uvicorn
- Libraries:
pandas,openpyxl: 엑셀 데이터 파싱qrcode,Pillow: QR 코드 및 라벨 이미지 합성reportlab: A4 규격 PDF 레이아웃 생성
- DevOps: Docker, Docker Compose (NAS 환경 최적화)
💡 특별한 해결 과제: 구형 NAS 환경 최적화
프로젝트를 저전력/구형 CPU를 사용하는 NAS 환경에 배포할 때, 최신 NumPy와 Pandas 라이브러리가 특정 CPU 명령어 셋(x86-64-v2)을 요구하여 서버가 충돌하는 문제가 있었습니다.
이를 해결하기 위해 런타임 자가 진단 코드를 삽입했습니다. 서버가 시작될 때 CPU 호환성을 체크하고, 필요시 스스로 호환 가능한 하위 버전으로 라이브러리를 재설치한 뒤 재부팅하는 로직을 구현하여 배포 안정성을 확보했습니다.
[QR Label Studio 서비스 바로가기] 👉 https://qr.kimyunho.com/