데모현장·도면·3D
QR로 받아 출력하는 팝업 현장 사진 대기열
방문자 휴대폰에서 현장 PC로 가는 사진 전송·출력·복구 흐름을 같은 브라우저의 탭 두 개로 재현합니다.
popup-photo-queue-demo-158854-production.up.railway.app

열어 보시면 이런 걸 확인하실 수 있습니다
- [완성된 장면 열기]를 누르면 현장 PC 화면에 사진이 막 도착한 장면이 열립니다
- [현장 PC]에서 업로드 화면을 열면 휴대폰 대신 같은 브라우저의 새 탭이 열려 [보내기]로 사진을 넘깁니다
- [출력]을 누르면 프린터 연결 대신 브라우저 인쇄 창이 4x6인치 용지로 열립니다
- [복구 콘솔]에서 [전송 중 휴대폰 꺼짐]을 넣으면 줄이 노랗게 멈추고 [QR 새로 띄우기]로 풀립니다
만들면서 풀어야 했던 것
- QR 하나가 두 번 쓰이거나 전송 도중 끊기면 대기열 전체가 멈춥니다. QR은 발급 → 스캔 → 전송 중 → 받음 → 출력됨·건너뜀·만료 단계만 거치게 하고, 정해진 순서를 벗어난 전환은 엔진이 거절하게 했습니다. 연결이 끊겨 같은 QR로 다시 보내도 사진은 한 장만 도착하고, 세 가지 어긋남(전송 중 휴대폰 꺼짐·같은 QR 두 번 스캔·PC 다시 시작)은 버튼 한 번으로 풀린 뒤 멈춰 있던 시간이 행마다 남습니다.
- 쿠폰 수량이 정해진 이벤트에서는 한꺼번에 몰린 요청이 상한을 넘으면 안 됩니다. 확인과 차감을 한 번에 처리해, 총 30장 중 23장이 쓰인 처음 상태에서 [동시에 12건 시도]를 누르면 남은 7건만 성공하고 5건은 수량 마감으로 안내합니다. 쿠폰과 회원은 가상 데이터이고, 쇼핑몰 로그인은 데모용 가짜 로그인입니다.
- 휴대폰에서 PC로의 전달은 같은 브라우저의 두 탭이 BroadcastChannel로 주고받게 해 사진이 서버에 올라가지 않고, 프린터 대신 브라우저 인쇄 창으로 4x6인치(300dpi 기준 1200×1800px) 출력물을 보여 줍니다. 사진은 출력·건너뛰기 즉시, 아니면 보관 시간(데모 설정 2분, 실제 설계값 1시간)이 지나면 지워지고 삭제 기록에 이유와 시각이 남습니다. 실제 휴대폰 카메라·프린터·현장 네트워크에서는 확인하지 않았습니다.
비슷한 걸 만들어 보고 싶으시다면
구간 견적으로 규모를 먼저 가늠해 보시거나, 조건을 적어 보내 주시면 범위를 정리해 회신드립니다.