← 경험 목록

경험 05

멀티플렉스 전환에 맞춘 매장 단말 재설계 — 배리어프리 포함

주문 ↔ 결제 사이 미확정 상태 추적

2025.09 — 2026.07
기간
2025.09 ~ 2026.07
범위
기존 POS 인수 후 개선 / 키오스크 신규 구축
기술
KotlinJetpack ComposeMaterial3Clean Architecture + MVI(Pure Flow)HiltDataStore
배경
첫 멀티플렉스 운영 시작
회사가 극장 운영 방식을 바꿈
기존 시스템
단관 + 온라인 예매 전제 — 티켓 판매만 처리 가능
매점 · 부가 상품
멀티플렉스 매출의 한 축인데 현장에서 받을 수단이 없음
제약
PM · 기획자 없음
요구사항 정의와 화면 설계를 개발과 함께
운영 중 시스템 위에서 변경
끄고 갈아엎을 수 없음
현장 하드웨어 종속
영수증 프린터 · 고객 디스플레이 · 카드 결제 단말
불특정 다수 이용
접근성이 선택 사항이 아님
기능
키오스크요구사항 정리부터 배포까지 신규 구축
  • 좌석 선택 · 매점 주문 화면
  • 설정 화면 반응형 대응
POS외부 개발사가 만들고 인계된 단말을 넘겨받아
  • 운영 중 반복되던 오류 수정과 안정화
  • USB 영수증 프린터 · 듀얼 모니터 고객 디스플레이 · 카드 결제 단말 연동 개선
결제주문과 결제 사이를 잃지 않게
  • 주문 생성과 결제 승인 사이를 PendingOrder 상태로 추적 — 중복 결제와 유실 방지
  • 카드 결제 단말 전문에 주문번호와 가맹점 필드 연동
두 경로 연동어느 쪽으로 주문해도 같은 상태를 보게
  • 신규 키오스크와 기존 POS 연동
  • 실시간 주문 처리 추가
디자인 시스템매장 단말용으로 새로 구현
  • 테마 · 타이포 · 컴포넌트를 새로 구축
  • ConfirmDialog · ErrorDialog · Lottie 로딩 오버레이로 다이얼로그 체계 정비 (스낵바 대체)
  • 아이콘을 Heroicons 로 통일해 화면 간 일관성 확보
배리어프리불특정 다수가 쓰는 공간이라 선택 사항이 아님
  • UI 컴포넌트 · 다이얼로그 · 콤보 다이얼로그에 접근성 semantics 빠짐없이 적용
  • 선택형 다이얼로그의 표시 방식 개선
보안자격증명을 기기에 안전하게 두고 자동 로그인
  • Tink AES-GCM 256 으로 암호화, 키는 Android Keystore 에
  • EncryptedSharedPreferences 로 저장
결정
기존 POS만 확장개발량 최소 / 현장 대기열 미해소
키오스크만 신규무인 발권 / 직원 응대 경로 소실
POS 개선 + 키오스크 신규 병행채택
근거
상영 직전 발권 집중
창구 증설로는 해소되지 않음 — 키오스크가 일반 발권을 흡수해 대기열 분산
변경 · 환불 · 문의
사람이 처리해야 해서 POS 를 없앨 수 없음
화면은 분리 / 규칙은 단일
어느 경로로 들어와도 같은 상태를 보게
득실

얻은 것

대기열 분산 + 예외 응대 동시 확보 / 주문 상태 단일 규칙

포기한 것

유지보수 범위 2배

결과
2개 지점 3대 설치 · 운영
키오스크 실제 가동 중
매점 · 부가 상품 판매
티켓만 받던 현장에 추가 — 멀티플렉스 판매 흐름 수용
어느 경로로 들어와도 같은 상태
주문 · 결제 처리 규칙 단일화
회고

두 경로가 공유할 규칙을 코드로만 맞추고 문서로 남기지 않음 → 기능 추가마다 어느 쪽 기준을 따를지 재확인 반복.

자료

화면 캡처는 공개 범위를 고려해 포트폴리오에만 담았습니다. 요청하시면 개별 전달드립니다 — nuyoi7@gmail.com