해외 출판사 4곳(FTP-CSV/FTP-XML/REST-JSON/자체 파일)의 디지털 악보 카탈로그를 자동 수집해 카페24 쇼핑몰에 상품으로 등록하고, 결제 완료 시 워터마킹된 개인화 다운로드 권한을 자동 부여하는 백오피스 자동화 시스템을 Node.js + PostgreSQL 기반으로 설계·구현합니다.
해외 출판사 4곳(FTP-CSV/FTP-XML/REST-JSON/자체 파일)의 디지털 악보 카탈로그를 자동 수집해 카페24 쇼핑몰에 상품으로 등록하고, 결제 완료 시 워터마킹된 개인화 다운로드 권한을 자동 부여하는 백오피스 자동화 시스템을 Node.js + PostgreSQL 기반으로 설계·구현합니다.
작업 범위
주요 업무



하는 멱등성 처리 필요
FTP-CSV, FTP-XML, REST-JSON 등 서로 다른 연동 방식의 출판사 피드를 하나의 수집 파이프라인으로 정규화하고, 신규·변경 상품만 증분 동기화합니다.
Strategy 패턴 기반 출판사별 어댑터로 프로토콜이 달라도 동일한 정규화 파이프라인을 통과시키는 구조를 구현합니다.


정규화된 출판사 상품 데이터를 카페24 Admin API로 자동 등록하고, 가격·재고·상세정보 변경 시 기존 상품을 갱신합니다.
출판사 수집 데이터와 카페24 상품 스키마 간 매핑 계층을 두어, 출판사 필드가 늘어나도 매핑 규칙만 추가하면 되는 확장 구조를 구현합니다.


카페24 결제 완료 웹훅을 수신해 구매자에게 다운로드 권한을 자동 부여하고, 환불 시 권한을 자동 회수합니다.
결제-권한부여-환불회수를 하나의 상태 머신으로 모델링하여 중간 실패에도 상태 일관성을 보장하는 구조를 구현합니다.


자동 연동 API가 없는 출판사 D 상품에 대해, 구매자 정보를 삽입한 워터마킹 PDF와 만료·횟수 제한이 있는 서명 URL을 직접 생성합니다.
서명 URL에 만료시각과 잔여 횟수를 인코딩해 별도 세션 없이도 상태를 검증할 수 있는 무상태 다운로드 게이트를 구현합니다.


FTP-CSV/XML·REST-JSON 3종 프로토콜 분석과 정규화 스키마 설계, 출판사별 어댑터·증분 동기화 로직 구현
OAuth 인증, 상품 등록·갱신 API 32~38개 엔드포인트 구현, Bull Queue 재시도 로직 적용
결제완료 웹훅 처리, 워터마킹 PDF 생성, 서명 URL 발급 로직 구현
전체 파이프라인 통합 테스트, 관리자 대시보드 UI 완성, 크로스 브라우저 검증