porta.만든 흐름 살펴보기 · 2026.09.19

기존 메뉴 → 영어 초안 → 사장님 확인

이미 적어둔 메뉴로,영어 예약 페이지를.

네이버에 올린 가게 정보를 가져오면 AI가 영어 초안을 만듭니다. 사장님은 가격과 시간을 확인하고, 빠진 내용만 채워요.

01 / 기존 메뉴 · 가상 예시

모리네일 메뉴판

네이버 링크 · 복사한 텍스트 · 메뉴 이미지

02 / 영어 초안 → 직접 확인

Mori Nail

사장님이 확인한 뒤 적용

공개 설명용 가상 매장입니다. 이 페이지에서는 예약을 받거나 정보를 전송하지 않습니다.

01

가져오고, 확인하고, 적용해요.

메뉴를 처음부터 다시 쓰는 일을 줄이는 게 이번 구현의 중심입니다.

가져올 정보를 넣어요.

본인 가게의 네이버 링크를 넣습니다. 읽을 수 없는 페이지라면 메뉴 텍스트를 붙여 넣거나 이미지를 올릴 수 있어요. 입력 내용은 초안 생성을 위해 Google에 전송됩니다.

원문과 영어 초안을 나란히 봐요.

Gemini 3.8 Flash가 가게 이름과 메뉴를 정리하고 번역합니다. 가격이나 소요시간이 불분명하면 빈칸으로 남겨 직접 확인하게 합니다.

예약받을 시간을 정하고 적용해요.

영문 이름, 메뉴, 가격, 소요시간을 수정하고 영업 시간을 정합니다. 마지막 확인을 마치면 손님용 데모 화면에 반영돼요.

02

모르는 가격을 정해주면 안 되니까.

‘50,000원’과 ‘50,000원부터’는 다른 약속입니다. 아래 두 메뉴 표기를 눌러 보세요.

원래 메뉴 표기

50,000원

초안의 가격 칸

50,000원

한 가지 가격이 명확하면 초안에 채웁니다. 그래도 사장님이 원문과 맞는지 확인한 뒤 적용합니다.

이미지에서 읽은 숫자는 사장님이 직접 입력하도록 했습니다. 소요시간이 없으면 임의로 ‘60분’을 넣지 않습니다.

03

손님이 보낸 것은 ‘예약 요청’이에요.데모

링크를 받은 외국인 손님이 요청을 보내면, 사장님이 실제 일정을 확인하고 승인하는 흐름입니다.

GUEST / 손님

메뉴·날짜·시간 선택

영어 화면에서 원하는 메뉴와 시간을 고르고 연락처를 입력해 요청합니다.

PENDING / 대기

사장님에게 확인 요청

네이버 예약과 다른 일정도 살펴봅니다. 12시간 동안 승인하지 않은 요청은 만료됩니다.

CONFIRMED / 확정

승인해야 예약 확정

사장님이 승인하면 손님 화면에서 확정 상태와 일정을 확인합니다.

네이버의 예약 가능 시간과 자동으로 연결되지 않습니다. 이 데모의 이메일 인증 코드는 000000이며 실제 이메일은 보내지 않습니다.

04

만든 것과 다음에 연결할 것.

화면에서 되는 일과 실제 가게 운영에 필요한 일을 구분했습니다.

실제 연결 확인
메뉴 텍스트 → Gemini 영어 초안 → 사장님 수정 → 데모에 적용. 고정 가격은 채워지고, 변동 가격과 빠진 시간은 직접 입력하도록 확인했습니다.
데모 구현
영어 예약 요청, 대기·승인·거절, 시간 차단, 취소, 같은 탭에서 새로고침한 뒤 복원. 사장님 화면과 손님 화면을 바꿔가며 흐름을 체험합니다.
외부 성공 검증 남음
네이버 링크 읽기와 이미지 처리 경로는 만들었습니다. 실제 검증에서는 네이버 접근 제한과 Gemini 이미지 호출의 사용량 제한을 받아 성공 여부를 아직 확인하지 못했습니다.
다음 구현
실제 공개 예약 주소, 서버에 예약 저장, 진짜 이메일 인증·알림, 여러 기기에서 함께 쓰기. 결제와 네이버 일정 동기화도 현재 제공하지 않습니다.
개발 관점의 흐름도 보고 싶다면

브라우저가 입력을 Next.js 서버에 보내고, 서버가 입력 크기를 확인하고 로그인 정보를 FastAPI로 전달합니다. FastAPI는 사용자 인증을 확인한 뒤 허용된 네이버 공개 내용이나 직접 입력한 메뉴를 Gemini에 보내고, 응답의 형식과 원문 근거를 확인합니다. 브라우저는 이 결과를 검토 폼으로 보여줍니다.

AI 호출 키는 서버에만 둡니다. 로컬 프리뷰는 별도 인증 경로로 실행하며 운영 앱에는 연결하지 않았습니다. 운영 기능은 기본적으로 꺼져 있습니다. 초안의 원문 근거와 데모 예약은 브라우저의 현재 탭에만 남습니다. 실제 예약 서버에는 저장하지 않습니다.