프로젝트 배경
1) 예상 리스크 및 대응 계획 - SAP API 응답 지연이 가변적이어서 재고 조회 타임아웃 처리와 스탈 데이터 표시 정책을 별도로 설계해야 했다 - Shopify GraphQL 스펙이 버전마다 달라 어댑터 레이어에 버전 분기 로직을 구현하는 복잡도가 발생할 예정이다 - 예약 슬롯 중복 방지를 위해 DB 레벨 비관적 잠금(SELECT FOR UPDATE)과 애플리케이션 레벨 검증을 동시에 적용하는 구조
프로젝트 성과
이질적 외부 API 2종 단일 인터페이스로 통합 설계
SAP REST와 Shopify GraphQL의 응답 구조 차이를 어댑터 패턴으로 추상화하여, 백엔드 서비스 레이어가 외부 스펙 변경에 독립적으로 동작하는 구조를 구축할 예정이다.
QR 위변조 방지 토큰 발급·검증 구조 구현
예약 ID·타임스탬프를 HMAC-SHA256으로 서명한 일회용 QR 토큰을 설계하고, Redis 논스 캐시로 재사용 공격을 방지하는 검증 레이어를 구현할 예정이다.
예약 상태 FSM 모델로 비즈니스 규칙 단일화 설계
대기·확정·체크인·완료·취소 상태 전이를 유한 상태 머신으로 모델링하여 클라이언트·서버 양측의 상태 규칙을 단일 레이어에서 일관되게 관리하는 구조를 설계할 예정이다.
BullMQ 백그라운드 워커 기반 재고 동기화 파이프라인 구축
5분 주기 재고 동기화 잡(Job)과 임계치 초과 감지 워커를 BullMQ로 구현하여, 실시간 재고 알림을 관리자에게 WebSocket으로 전달하는 파이프라인을 구축할 예정이다.
Socket.io 채널 기반 체크인 실시간 반영 구조 적용
QR 스캔 이벤트를 Socket.io 룸 단위로 브로드캐스트하여 관리 화면에서 새로고침 없이 체크인 목록이 즉시 갱신되는 구조를 구현할 예정이다.
핵심 기능
진행 단계
외부 API 분석 및 어댑터 설계
2026.03.
SAP REST·Shopify GraphQL 응답 스펙 분석, 단일 DTO 정규화 레이어 설계, Prisma 스키마 초안 작성
프로젝트 상세
1) 포트폴리오 소개 Shopify 연동 팝업 스토어 운영에 최적화된 웹 관리 대시보드를 설계 및 구현할 예정이다. 예약 캘린더·QR 체크인 현황·실시간 재고 모니터링을 단일 인터페이스로 통합하고, SAP 재고 API와 Shopify Storefront API를 백엔드 레이어에서 어댑터 패턴으로 묶어 외부 의존성을 최소화하는 구조를 구축할 예정이다. 2) 작업 범위 - 운영 현황 대시보드: 오늘의 예







