기존 지도/여행 앱
사용자가 목적지를 이미 알고 있을 때 강하다.
- 장소명 검색
- 리뷰와 지도 확인
- 길찾기 중심
Positioning
사용자가 목적지를 이미 알고 있을 때 강하다.
사용자가 아직 선택하지 못했을 때 강해야 한다.
MVP Scope
User Flow
Flutter UI
앱을 열면 바로 조건 선택 카드와 추천 시작 버튼을 보여준다.
추천 점수와 이유를 카드 형태로 보여주고 지도 연결을 제공한다.
현재 샘플의 설정, 공지사항, 고객센터 구조를 계속 활용한다.
Recommendation
{
"place": "송도 센트럴파크",
"score": 91,
"reasons": [
"이동시간이 30분 이내입니다.",
"오늘은 야외 활동에 적합한 날씨입니다.",
"예상 비용이 선택한 예산 안에 들어옵니다."
]
}
Architecture
화면, 위치 권한, 조건 입력, 결과 표시, 지도 연결만 담당한다.
features/recommendation
외부 API 키 보호, 후보 수집, 점수 계산, 캐시 저장을 담당한다.
services/scoring_service.py
장소 보정 데이터, 추천 로그, 즐겨찾기, 피드백을 저장한다.
places, recommendation_logs
초기 서버로 사용하되, 외부 공개와 백업 정책은 별도로 관리한다.
Docker Compose
POST /recommendations 조건 기반 추천 요청GET /places/{place_id} 장소 상세 조회POST /favorites 즐겨찾기 저장POST /feedback 추천 품질 피드백 저장GET /health 서버 상태 확인External APIs
| 용도 | 1순위 | 비고 |
|---|---|---|
| 장소 후보 | 한국관광공사 TourAPI | 관광지, 행사, 문화시설 후보 확보 |
| 지도/장소 검색 | 카카오 로컬 API | 좌표, 키워드, 카테고리 검색에 사용 |
| 날씨 | OpenWeather 또는 기상청 | MVP는 구현 속도를 우선하고 이후 교체 가능하게 설계 |
| 미세먼지 | OpenWeather Air Pollution 또는 공공데이터 | 외출 적합도 점수에 반영 |
| 주차/행사 | 공공데이터포털 | Beta 이후 지역별 데이터부터 확장 |
Roadmap
더미 데이터로 화면 흐름을 완성한 뒤 실제 API를 연결한다.
추천 품질을 검증하고 최소 운영 기능을 붙인다.
개인화와 코스 추천을 단계적으로 확장한다.
Next Actions