프로젝트 배경
예약, 결제 상태, 입장권 만료와 현장 네트워크 재시도는 서로 다른 시점에 실패합니다. 한 번의 화면 성공으로 묶으면 겹치는 예약이나 중복 체크인이 생길 수 있어 각 단계의 상태와 복구 규칙이 필요했습니다.
프로젝트 성과
오프라인 현장 기록과 동기화 안정화
반경·시간 검색, 10분 예약 hold, 겹침 차단, QR·수동 코드 입장과 원자적 1회 체크인을 한 흐름으로 연결했습니다.
핵심 기능
진행 단계
예약 규칙 → API·DB → 앱·오프라인 큐 → 동시성·E2E
2026.08.
예약·취소 규칙을 확정하고 API·DB, 고객 앱과 운영자 QR 흐름을 연결한 뒤 동시 예약·offline queue·E2E를 검증했습니다.
프로젝트 상세
고객이 장소와 시간을 검색하고 예약을 만든 뒤 QR 입장권을 받으며, 운영자는 현장에서 스캔해 한 번만 체크인하는 모바일 시스템을 구현했습니다. Node.js·TypeScript·Fastify API, PostgreSQL, Expo·React Native를 사용했습니다. PostgreSQL tstzrange exclusion constraint로 겹치는 예약을 차단하고, 10분 hold와 테스트용 결제 ada







