AI 기반 그룹 여행 플래닝 서비스 Sofly의 백엔드 설계 및 구현 기록
GitHub - Nagaja2world/Sofly_Back
| 항목 | 내용 |
|---|---|
| 서비스명 | Sofly |
| 설명 | 친구·가족과 함께 여행을 계획하고, AI가 맞춤 일정을 추천해주는 그룹 여행 플래닝 서비스 |
| 역할 | 백엔드 개발 (2인 팀 — 박상민, 정세현) |
| 개발 기간 | 2026년 3월 ~ 2026년 6월 |
| 서비스 URL | https://sofly.co.kr/ |
| GitHub | https://github.com/Nagaja2world/Sofly_Back |
| 기술 스택 | Java 21 / Spring Boot 3.5 / PostgreSQL / Redis / Kafka / AWS / Docker |
| 기능 | 설명 |
|---|---|
| 소셜 로그인 | Google / Kakao / Naver OAuth2 + JWT Stateless 인증 |
| 그룹 워크스페이스 | 초대 코드로 멤버 초대, 역할(OWNER/EDITOR/VIEWER) 기반 권한 제어 |
| AI 여행 플래너 채팅 | Google Gemini 2.5 Flash 기반 3단계 여행 추천 (정보 수집 → 자연어 제안 → JSON 확정) |
| 항공권·호텔 검색 | Booking.com RapidAPI 실시간 연동, Redis 캐싱으로 응답 최적화 |
| 장소 정보 조회 | Google Places API 기반 텍스트 검색 및 사진 제공 |
| 여행 일정 관리 | 일정표 생성·편집·포크(복제), 카테고리별 아이템 관리 |
| 여행 앨범 | AWS S3 기반 사진 업로드·관리 (최대 20장/요청) |
| 여행 로그 | Markdown 기반 여행 기록 (공개/멤버/비공개 설정) |
| 정복 지도 | 방문 국가·도시 추적 (UNVISITED → PLANNED → VISITED), 공항 이벤트 자동 전환 |
| 실시간 채팅 | WebSocket STOMP + Redis Pub/Sub 기반 멀티 인스턴스 브로드캐스트 |