매장 콘텐츠 진입점
매장 소개, 카탈로그, 이벤트와 3D Viewer를 한 키오스크 경험 안에서 연결했습니다.
여러 매장에 배포되는 키오스크 애플리케이션의 개발 전반을 맡았습니다. PHP·jQuery 기반 UI와 매장별 데이터 가공을 구현했고, 초기 배포 구조 때문에 실제로 발생한 매장별 패치 누락을 동기화 자동화로 해결했습니다.
매장 키오스크에 실제 사용된 LX Z:IN 인트로 화면 원본


키오스크의 메인 화면은 매장 정보, 카탈로그와 이벤트 콘텐츠로 들어가는 허브였습니다. 외부에서 제공받은 3D 매장 둘러보기 Viewer를 키오스크 UI에 넣고, 외부 링크 중에서도 하단 Navigation을 계속 유지해야 하는 콘텐츠는 iframe으로 연결했습니다.
제품 자체는 하나였지만 매장마다 보여줘야 하는 정보와 데이터가 달랐습니다. 제공받은 매장 정보와 카탈로그를 Python으로 전처리·정렬하고, 매장별 설정값을 기준으로 공통 코드가 다른 데이터와 동작을 사용하게 구성했습니다.
매장 소개, 카탈로그, 이벤트와 3D Viewer를 한 키오스크 경험 안에서 연결했습니다.
공통 애플리케이션이 매장별 PHP 설정값에 따라 데이터와 동작을 달리하도록 구성했습니다.
매장별 원본 데이터를 Python으로 정리해 키오스크가 바로 소비할 수 있는 배포 형태로 만들었습니다.
새로 만들 필요가 없는 외부 Viewer와 콘텐츠는 iframe 등으로 통합해 구현 범위를 조절했습니다.
매장별 subdomain에 대응하는 별도 폴더를 만들고 공통 코드를 복제했습니다. 매장마다 설정 파일을 두어 필요한 데이터와 동작을 구분했습니다.
동일한 코드가 여러 폴더에 존재해 한 매장에 적용한 공통 패치를 다른 매장 폴더에 반영하지 않는 일이 발생했습니다. 그 결과 매장마다 서로 다른 버전이 배포되는 문제가 생겼습니다.
공통 패치를 모든 매장 폴더에 빠짐없이 반영할 수 있는 배포 절차가 필요했습니다.
매장 폴더를 하나의 코드베이스로 통합하면 중복을 없앨 수 있었지만, 이미 여러 매장이 운영 중이어서 전체 구조를 바꾸는 비용과 리스크가 컸습니다.
대신 공통 파일을 기준 폴더에서 각 매장 폴더로 복사하는 synchronization script를 만들었습니다. 이후 공통 패치 누락은 거의 사라졌고, 당장의 운영 리스크가 크게 줄었습니다.
SCSS compile 과정도 script로 단순화해 필요한 output이 없으면 생성되도록 처리했습니다. 배포 파일 복사와 CSS 생성에서 반복되던 수작업을 자동화했습니다.
공통 파일 동기화로 패치 누락을 해결한 뒤에는 추가 재설계의 비용 대비 효과가 작다고 판단해 기존 구조를 유지했습니다.
매장별 복제 폴더에서 발생한 패치 누락을 공통 파일 동기화로 해결했습니다. 운영 중인 매장 구조를 유지하면서도 누락이 거의 사라졌고, SCSS 생성 과정도 자동화했습니다.