프로젝트 개요
SI Kkachie는 한국을 방문하는 외국인 여행자가 언어 장벽 없이 일상 상황을 해결할 수 있도록 돕는 앱의 백엔드 시스템입니다. 택시 탑승, 매장 결제, 숙소 체크인 등 실제 여행 상황을 미션으로 구성하고, 각 단계에서 필요한 추천 문장과 실시간 번역 기능을 제공합니다.
FastAPI 프레임워크 기반으로 Vertical Slice 아키텍처를 적용하였으며, Supabase Auth를 통한 소셜 로그인(Google/Apple), Google Cloud APIs를 활용한 번역·음성 처리, Naver Maps API 연동 경로 안내까지 외부 서비스 통합을 체계적으로 구성했습니다.
기능 플로우
주요 기능
- 소셜 로그인 및 자동 프로필 생성:
Supabase Auth를 통해 Google/Apple 소셜 로그인을 지원합니다. 첫 로그인 시 JWT 토큰에서 사용자 정보를 추출하여 프로필을 자동으로 생성하며, JWKS 기반 로컬 토큰 검증으로 인증 속도를 최적화합니다. - 실시간 텍스트 번역:
Google Cloud Translation API를 활용하여 한국어↔영어 양방향 텍스트 번역을 제공합니다. 번역 이력을 저장하여 자주 사용하는 표현을 다시 확인할 수 있습니다. - 음성 번역 (STT/TTS):
Google Cloud Speech-to-Text로 음성을 텍스트로 변환하고,Google Cloud Text-to-Speech로 번역 결과를 음성으로 출력합니다. 오디오 파일은Supabase Storage에 저장되며, 음성 인식 신뢰도 점수와 소요 시간을 함께 기록합니다. - 미션 기반 가이드: 택시 탑승(
TAXI), 매장 결제(PAYMENT), 숙소 체크인(CHECK_IN) 등 실제 여행 상황을 미션 템플릿으로 제공합니다. 각 미션은 단계별 스텝으로 구성되어 여행자가 순서대로 따라할 수 있습니다. - 미션 진행 상태 추적: 여행자별 미션 진행률을 실시간으로 관리합니다. 각 스텝의 완료 여부와 소요 시간을 기록하며, 중단 후 재개가 가능합니다.
- 추천 문장 템플릿: 미션 스텝별로 자주 사용하는 한국어/영어 문장 쌍을 제공합니다. 여행자가 상황에 맞는 문장을 선택하면 바로 활용하거나 음성으로 재생할 수 있습니다.
- 경로 안내:
Naver Maps Directions API와 연동하여 출발지-목적지 간 경로를 검색합니다.PostGIS를 활용한 위치 데이터 저장으로 경로 검색 이력을 관리합니다. - 프로필 이미지 업로드:
Supabase Storage의 Presigned URL 방식으로 프로필 이미지 업로드를 지원합니다. 클라이언트가 직접 스토리지에 업로드하여 서버 부하를 최소화합니다.



