본문으로 건너뛰기
김찬호

Road Recommend

운영 중

대중교통 N분 + 걷기 경로 추천

진행률95%
Web
2026.06
1명 (개인 프로젝트)

프로젝트 설명

"대중교통은 N분만 타고 나머지는 걷자"는 제약을 알고리즘으로 푸는 멀티모달 길찾기 서비스입니다. ODsay(대중교통)와 TMAP(보행)을 결합해 시간 예산 내 경로를 추천하고 Leaflet 지도에 시각화합니다.

  • 시간 예산(5~60분) 제약을 만족하는 하차 지점을 계산해 대중교통+도보를 결합하는 라우팅 알고리즘 구현
  • ODsay·TMAP 실 API 연동 + Vercel 서버리스 배포(Referer 기반 웹키 대응)
  • 걷기/자전거/혼합 2차 이동수단 선택, 즐겨찾기, 경로 상세 타임라인 UI

기술 스택

Next.jsReactTypeScriptTailwind CSSLeafletODsay APITMAP APIVercel

아키텍처

사용자 입력 (출발/도착/시간 예산)
  └─ RouteForm → POST /api/route
       └─ planner (경로 조합 오케스트레이션)
            ├─ ODsay API (대중교통 경로 4종)
            │    └─ 예산 내 마지막 하차 정류장 선택
            └─ TMAP API (하차→도착 보행/자전거 경로)
  └─ RouteResults + Leaflet 지도 시각화

RouteForm이 출발/도착/시간 예산을 받아 /api/route를 호출하면, planner가 ODsay로 대중교통 경로 4종을 받아 예산 내 마지막 하차 정류장을 고르고, TMAP으로 하차 지점→도착지 보행/자전거 경로를 계산해 결합합니다. 총 소요시간 기준으로 정렬해 Leaflet 지도에 색상별로 시각화합니다.

주요 기능

시간 예산 제약 라우팅

대중교통 누적 시간이 예산(5~60분) 이내가 되는 지점까지만 타고, 나머지는 걷기/자전거로 커버하는 제약 기반 경로 탐색

2차 이동수단 선택

마지막 구간을 걷기·자전거·자전거+걷기(1km 기준 하이브리드) 중 선택

멀티모달 경로 추천

ODsay 대중교통 + TMAP 보행 경로를 결합해 총 소요시간 기준으로 4개 이상 후보 랭킹

지도 시각화

Leaflet + OpenStreetMap으로 지하철/버스/도보/자전거 구간을 색상별 폴리라인으로 표시

즐겨찾기·상세보기

localStorage 기반 즐겨찾기 저장/재검색, 구간별 타임라인 상세 모달

기능

#대중교통 시간 예산 설정(5~60분)#걷기/자전거/혼합 2차 이동수단 선택#멀티모달 경로 추천·랭킹#Leaflet 지도 경로 시각화#즐겨찾기(localStorage)#경로 상세 타임라인
Road Recommend (대중교통 N분 + 걷기 경로 추천) 스크린샷