Skip to content

feat(zpl-viewer): ZPL 뷰어 웹 앱 추가#9

Merged
Bori-github merged 5 commits into
mainfrom
feat/viewer
Mar 13, 2026
Merged

feat(zpl-viewer): ZPL 뷰어 웹 앱 추가#9
Bori-github merged 5 commits into
mainfrom
feat/viewer

Conversation

@Bori-github

Copy link
Copy Markdown
Owner

📝 작업 내용

독립 배포 가능한 ZPL 라벨 미리보기 웹 앱 apps/zpl-viewer 추가

  • 초기 설정: React, Vite, TanStack Query, Tailwind, shadcn, TypeScript, ESLint, Prettier
  • Labelary API 연동: ZPL → PNG/PDF 변환, 429 rate limit 처리, 에러 처리
  • UI: ZplInput, ZplPreview, OptionsPanel 컴포넌트 분리
  • 저장 기능: ZPL 저장, PNG 저장, PDF 저장
  • 리팩터링: Labelary API를 axios 기반으로 교체, mm→inch 유틸 분리

🔍 변경 범위

  • apps/react-zpl - React ZPL 라이브러리
  • docs - 문서 사이트
  • tests - 테스트 코드
  • demos - 데모 애플리케이션
  • 기타: apps/zpl-viewer - 독립 ZPL 뷰어 웹 앱

📸 스크린샷 (선택사항)

📚 추가 정보

  • 계획서: docs/plans/2026-03-11-feat-apps-zpl-viewer-web-app-plan.md
  • react-zpl 의존성 없음 (예제는 examples.json 정적 데이터)
  • Vercel 배포 시 vercel.json 및 GitHub Actions deploy 워크플로우 적용 필요 (별도 커밋 예정)

- React, Vite, TanStack Query, TypeScript 기본 구조
- ESLint, Prettier 설정
- vite-env.d.ts 타입 선언
- fetchLabelaryPng, useZplPreview 훅 추가
- ZplInput, ZplPreview, OptionsPanel 컴포넌트 분리
- examples.json 예제 데이터 및 zpl-preview 타입 정의
- ZPL 저장, PNG 저장, PDF 저장 버튼
- fetchLabelaryPng에 Accept 파라미터 및 LabelaryAccept 타입 추가
- axios 인스턴스로 baseURL, timeout, responseType 설정
- isAxiosError, isCancel로 에러 처리 통일
- lib/units.ts에 mmToInch 함수 추가
- labelary API에서 해당 유틸 사용
@Bori-github Bori-github self-assigned this Mar 13, 2026
@Bori-github Bori-github added the enhancement New feature or request label Mar 13, 2026
@Bori-github Bori-github merged commit 2487d5b into main Mar 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant