Menuro — 시나리오 기반 전자메뉴판 (Menu OS)
하나의 메뉴 데이터를 QR·태블릿·키오스크·주방 디스플레이·전광판·인쇄로 동시에 렌더링하는 멀티테넌트 Menu OS. 24개 로케일 AI 자동번역, 메뉴 개편 variant, 레시피·재고·예약·CRM 을 하나의 주문 코어 위에 얹었습니다.
해결 과제
요구는 정반대였습니다 — 한국은 실증 기반일 뿐이고 주력 시장은 미국·유럽·일본. 매장별 다국어·다통화·현지 표시 규제를 기본값으로 두되, 한국 전용 규제는 KR 로케일의 옵션으로 격리해 글로벌 흐름을 오염시키지 않아야 했습니다.
운영 측면의 난제도 남아 있었습니다. 메뉴 편집은 저장 즉시 라이브에 반영돼 개편안을 미리 준비할 방법이 없었고, 낮은 음식·밤은 주류처럼 시간대별로 완전히 다른 메뉴를 운용할 수단도 없었습니다. 세트 메뉴를 단일 주문 라인으로 저장하면 재고·원가·품목별 매출이 존재하지 않는 합성 아이템으로 오염되는 문제도 그대로였습니다.
솔루션
메뉴 전체를 후보 메뉴판(variant)으로 추상화해 라이브 무영향 편집 · 원클릭 활성 전환 · 시간대 자동전환을 만들었습니다. 활성 전환은 매장별 캐시 락으로 직렬화하고, 서빙 캐시 키를 variant 단위로 분리해 드래프트 편집이 라이브 캐시를 오염시키지 않습니다.
세트는 저장 시점에 실제 구성품 라인으로 분해하고 할인액을 유닛 단위로 균등 배분(반올림 잔차는 마지막 라인이 흡수)해 구성품 합계가 세트가와 정확히 일치하도록 했습니다. 재고·BOM·품목별 매출이 합성 아이템으로 오염되지 않으면서 화면에는 세트로 묶여 보입니다. 여기에 레시피(BOM + 조리 절차 + 조리행위 아이콘 120종 + AI 생성), 24개 로케일 AI 대량 번역, Konva 기반 매장 배치 편집기와 자연어 배치 생성(AI Depict)을 얹었습니다.
성과
메뉴 개편 variant — 라이브 무영향 편집 · 원클릭 활성 전환 · 시간대 자동전환(낮/밤 메뉴)
세트 주문 자동 분해 + 할인 균등 배분 — 구성품 합계가 세트가와 멱등하게 일치
레시피 = BOM + 조리 절차 + 조리행위 아이콘 120종, 스텝별 조리시간 합산으로 예상 시간 산출
AI 자동번역 24개 로케일 · 관리자 콘솔 8개 국어 · 설명서 66섹션 174스텝 185컷 스크린샷
매장 배치 편집기(Konva) + 자연어 → 좌석·집기 배치 생성 AI Depict 파이프라인
Pulse 를 수집기로만 쓴 super 전용 개발 콘솔 10페이지 + 원샷 진단 커맨드
멀티테넌트 3계층 권한 — 도메인 × role × store_id 삼중 강제로 테넌트 경계 차단
개발 마일스톤
멀티테넌트 아키텍처 설계
본사-가맹점 데이터 격리 방식 결정. 메뉴 상속 구조(본사 기본 + 가맹점 오버라이드) 설계 완료.
QR 주문 PWA & KDS 구현
QR 코드 기반 테이블 주문 PWA 구현. 웹소켓으로 주문 즉시 주방 디스플레이에 표시. 그룹 주문 합산 및 조리 완료 알림 기능 완성.
다국어 & 이미지 최적화
한/영/중/일 4개 언어 동적 전환 구현. 메뉴 이미지 WebP 자동 변환 및 CDN 캐싱 적용.
본사 대시보드 & 일괄 동기화
본사 중앙 대시보드 구현. 전 가맹점 메뉴 일괄 업데이트 기능과 매출 현황 실시간 집계 대시보드 완성.
v1 가맹점 일괄 배포
가맹점별 서브도메인 자동 생성, 태블릿 초기 설정 매뉴얼 배포. 현장 설치 교육 2일 진행.
Menu OS 로 재정의 · 멀티테넌트 전환
단일 매장 QR 테이블오더를 시나리오 기반 Menu OS 로 재설계. 주문 유입 경로를 온라인·오프라인·공통 레이어로 나누고, 도메인 기반 테넌트 해석과 본사·매장관리자·직원 3계층 권한을 도메인 × role × store_id 삼중으로 강제했다.
메뉴 개편 variant · 세트 분해 · 레시피 · 재고 · CRM
전체 메뉴를 후보 메뉴판(variant)으로 추상화해 라이브 무영향 편집과 시간대 자동전환을 도입. 세트 주문은 저장 시 실제 구성품으로 분해하고 할인액을 균등 배분한다. 레시피(BOM + 조리 절차 + 아이콘 120종 + AI 생성)·재고·예약·CRM 모듈을 같은 구간에 투입.
AI 대량 번역 파이프라인 (24 로케일)
메뉴·옵션·랜딩 블록을 24개 로케일로 일괄 번역하는 파이프라인 구축. 번역 컨텍스트를 항목 단위로 유지하고 진행률을 실시간 표시하며, 실패 항목만 선별 재시도한다.
관리자 설명서 66섹션 × 8개 국어
구조(config)와 문구(lang)를 분리해 13그룹 66섹션을 8개 언어로 작성. 스텝마다 실제 관리자 화면 스크린샷 185컷을 붙이고, 개업 첫날·피크·품절·마감정산 같은 상황별 가이드를 더했다.
개발 콘솔 · Docker 배포 · 방문자 분석
Pulse 를 데이터 수집기로만 쓰고 시각화는 super 전용 자체 콘솔 10페이지로 구현(vendor 대시보드는 완전 차단). 원샷 진단 커맨드, 상주 데몬 분리 컨테이너, 공개 표면 전용 분석 태그까지 운영 준비를 마감.