"어디로 갈지 모를 때도 괜찮아" — 출발역 하나로 시작하는 커플 데이트 코스 추천 서비스
출발역과 이동 가능 시간을 입력하면 목적지 역을 추천하고, 그 주변 맛집·카페·놀거리를 찾아줍니다. 커플이 함께 코스를 짜고 실시간으로 공유할 수 있습니다.
| 구분 | 기술 |
|---|---|
| Framework | NestJS 11 |
| Database | PostgreSQL · TypeORM |
| Auth | 직접 구현한 HS256 JWT · 소셜 로그인 (카카오 · 구글 · 네이버) |
| Realtime | Socket.io WebSocket |
| External API | 네이버 지역검색 · 네이버 블로그 · 카카오 로컬 |
랜덤 역 추천 출발역과 최대 이동 시간(20·40·60분)을 입력하면 Dijkstra로 사전 계산된 이동시간 캐시 위에서 역 등급 가중치를 적용해 목적지를 추천합니다.
장소 검색 · 추천 네이버 지역검색 API와 블로그 검색 API를 조합해 역 주변 장소를 찾습니다. 날짜를 입력하면 해당 날짜에 열리는 팝업·기간한정 이벤트를 우선 추천합니다.
데이트 코스 공유 코스를 만들고 초대 링크를 공유하면 상대방이 합류할 수 있습니다. 코스 수정 사항은 Socket.io를 통해 실시간으로 양쪽에 반영됩니다.
소셜 로그인 카카오(Authorization Code + Access Token), 구글, 네이버 로그인을 지원합니다. Refresh Token은 해시 저장 후 rotation 방식으로 관리합니다.
src/
├── auth/ JWT 발급·검증, 소셜 OAuth
├── users/ 사용자 프로필
├── stations/ 역·노선 데이터, 이동시간 Dijkstra 캐시
├── places/ 장소 검색·추천 (외부 API 연동)
├── random/ 가중치 기반 랜덤 역 추천
└── date-courses/ 코스 CRUD + WebSocket 실시간 협업
