Product Plan · Flutter + FastAPI

30초 안에 오늘 갈 곳을 결정하게 돕는 추천 앱

목적지를 이미 정한 사용자가 아니라, 지금 어디 갈지 아직 정하지 못한 사용자를 위한 의사결정 서비스다. 현재 위치와 오늘의 조건을 바탕으로 후보 장소를 줄이고, 왜 추천하는지까지 설명한다.

Positioning

검색 앱이 아니라 선택을 줄여주는 앱

기존 지도/여행 앱

사용자가 목적지를 이미 알고 있을 때 강하다.

  • 장소명 검색
  • 리뷰와 지도 확인
  • 길찾기 중심

오늘 어디갈까?

사용자가 아직 선택하지 못했을 때 강해야 한다.

  • 상황 기반 질문
  • 추천 점수와 이유
  • 오늘의 선택지 압축

MVP Scope

첫 출시는 추천 5개를 정확히 만드는 데 집중

MVP에 포함

  • 현재 위치 가져오기
  • 동행, 시간, 예산, 실내/실외 조건 선택
  • 날씨와 미세먼지 조회
  • 관광/장소 후보 수집
  • 거리 계산과 점수 계산
  • 추천 이유가 포함된 결과 카드
  • 외부 지도 앱 연결

MVP에서 제외

  • 로그인과 소셜 계정 연동
  • AI 추천과 AI 요약
  • 실시간 혼잡도
  • 복잡한 코스 자동 생성
  • 사용자 리뷰/커뮤니티
  • 결제와 광고
  • 고도화된 관리자 페이지

User Flow

사용자는 검색하지 않고 조건만 고른다

  1. 위치 확인 현재 위치 사용 권한을 받고 주변 후보를 찾는다.
  2. 상황 선택 혼자, 연인, 친구, 아이와, 부모님 중 동행 유형을 고른다.
  3. 제약 선택 이동 가능 시간, 예산, 실내/실외, 반려동물, 유모차 조건을 고른다.
  4. 추천 계산 거리, 날씨, 미세먼지, 예산, 동행 적합도를 점수화한다.
  5. 결과 확인 추천 5개와 이유를 보고 지도 앱으로 이동한다.

Flutter UI

현재 프로젝트 UI를 추천 앱 구조로 재해석

오늘 추천 시작

앱을 열면 바로 조건 선택 카드와 추천 시작 버튼을 보여준다.

  • 현재 위치 상태
  • 동행 유형 칩
  • 이동 시간 선택
  • 예산 선택
  • 실내/실외 토글
추천

추천 결과

추천 점수와 이유를 카드 형태로 보여주고 지도 연결을 제공한다.

  • 추천 장소 5개
  • 점수와 핵심 이유
  • 예상 이동 시간
  • 예상 비용
  • 지도에서 보기
메뉴

운영 메뉴

현재 샘플의 설정, 공지사항, 고객센터 구조를 계속 활용한다.

  • 테마 설정
  • 공지사항
  • 1:1 문의
  • 최근 추천 기록
  • 개인정보 처리방침

Recommendation

초기 추천은 설명 가능한 점수제로 시작

거리/이동시간25
날씨 적합도20
미세먼지15
동행 적합도15
예산 적합도10
실내/실외 선호10
부가 조건5

결과 데이터는 이유를 함께 가진다

{
  "place": "송도 센트럴파크",
  "score": 91,
  "reasons": [
    "이동시간이 30분 이내입니다.",
    "오늘은 야외 활동에 적합한 날씨입니다.",
    "예상 비용이 선택한 예산 안에 들어옵니다."
  ]
}

Architecture

혼자 운영 가능한 작은 서버 구조

Flutter

화면, 위치 권한, 조건 입력, 결과 표시, 지도 연결만 담당한다.

features/recommendation

FastAPI

외부 API 키 보호, 후보 수집, 점수 계산, 캐시 저장을 담당한다.

services/scoring_service.py

PostgreSQL

장소 보정 데이터, 추천 로그, 즐겨찾기, 피드백을 저장한다.

places, recommendation_logs

Mini PC + WSL

초기 서버로 사용하되, 외부 공개와 백업 정책은 별도로 관리한다.

Docker Compose

초기 API

  • POST /recommendations 조건 기반 추천 요청
  • GET /places/{place_id} 장소 상세 조회
  • POST /favorites 즐겨찾기 저장
  • POST /feedback 추천 품질 피드백 저장
  • GET /health 서버 상태 확인

External APIs

초기에는 API 수를 줄이고 비용을 통제

용도 1순위 비고
장소 후보 한국관광공사 TourAPI 관광지, 행사, 문화시설 후보 확보
지도/장소 검색 카카오 로컬 API 좌표, 키워드, 카테고리 검색에 사용
날씨 OpenWeather 또는 기상청 MVP는 구현 속도를 우선하고 이후 교체 가능하게 설계
미세먼지 OpenWeather Air Pollution 또는 공공데이터 외출 적합도 점수에 반영
주차/행사 공공데이터포털 Beta 이후 지역별 데이터부터 확장

Roadmap

MVP → Beta → 정식 출시

Phase 1

MVP

더미 데이터로 화면 흐름을 완성한 뒤 실제 API를 연결한다.

  • 추천 시작 화면
  • 추천 결과 카드
  • 점수 계산
  • 지도 앱 연결
Phase 2

Beta

추천 품질을 검증하고 최소 운영 기능을 붙인다.

  • 즐겨찾기
  • 최근 추천 기록
  • 피드백 수집
  • API 캐싱
Phase 3

정식 출시

개인화와 코스 추천을 단계적으로 확장한다.

  • 취향 학습
  • AI 요약
  • 공유 기능
  • 계절별 추천

Next Actions

바로 이어서 개발할 작업