여행 맛집 아카이브
여행지·맛집 기록, 소셜 미디어 URL/이미지 AI 분석, Google Maps 지도 대시보드.
Vue 3FastAPIPostgreSQLKubernetesMinikubeyt-dlpGoogle GenAI
- Instagram/YouTube URL·이미지 → AI 분석·아카이빙
- Google Maps + MarkerClusterer 지도 대시보드
- prod/dev 환경 분리 배포
- CI/CD 자동 배포
구현 구성
프론트엔드
- Vue 3 + Vite + Tailwind
- Google Maps API + MarkerClusterer
- Google OAuth 로그인, 역할 기반 UI (읽기/작성/관리자)
백엔드
- FastAPI + PostgreSQL
- Google OAuth (Authlib) + JWT / API Key 이중 인증
- 백그라운드 아카이브 워커 큐 (URL 중복 처리 락)
배포
- Minikube Kubernetes, prod/dev 환경 분리
- Ingress Controller → 호스트 Nginx 프록시
- CI/CD:
main프로덕션,develop개발
API
| 라우터 | 역할 |
|---|---|
/api/auth | OAuth, 세션·API Key 발급 |
/api/spots | 스팟 CRUD, 국가/지역 필터, 통합 검색 |
/api/archive | URL·이미지·텍스트 → yt-dlp + GenAI 분석 |
/api/admin | 사용자 역할(admin/write/read) 관리 |
데이터 흐름
- 사용자가 소셜 미디어 URL 또는 이미지 업로드
archive워커가 플랫폼 감지 → 미디어 다운로드 → AI 분석- 결과를 DB에 저장, 지도에 마커 표시