TRIPSPOT
원하는 관광지를 쉽고 빠르게, 위치 기반 관광 정보 서비스
TRIPSPOT은 한국의 대표적인 관광 명소를 쉽고 편리하게 검색할 수 있는 웹 서비스입니다. 권역 및 지역별 관광지 검색 기능과 주변 관광지 탐색 기능을 제공합니다.
- 프로젝트 기간: 2025.03.27 ~ 2025.04.03
- 팀 구성: Full-Stack 6명
- Language: Java 17
- Framework: Spring Boot 3.4.4, Spring Security
- Database: MySQL, MyBatis
- Frontend: HTML, CSS, JavaScript, Thymeleaf
- IDE: IntelliJ IDEA
- VCS: Git, GitHub
- Collaboration: Slack
- 주소 좌표 변환: Kakao Maps API의 Geocoder를 활용해 텍스트 주소를 위도/경도 좌표로 변환하는 로직 구현
- 공공데이터 API 연동: 변환된 좌표를 기반으로 공공데이터 API(Tour API)와 비동기 통신을 수행하여 실시간 주변 관광지 데이터 파싱
- 동적 마커 생성: 수신된 데이터를 지도 객체에 바인딩하여 각 관광지 위치에 커스텀 마커 생성
- 상세 정보 제공: 관광지의 주소, 지역, 전화번호, 홈페이지 등 공공데이터 메타데이터를 활용한 정보 인터페이스 구성
- 로드뷰 생성: Kakao Maps API의 Roadview를 활용해, 마커의 좌표 데이터와 가장 인접한 지점의 실제 거리 뷰 동적 생성
- Persistence 처리: 사용자가 선택한 관심 관광지 정보를 MyBatis Mapper를 통해 MySQL 데이터베이스에 저장 및 관리
- 문제점
- 데이터 누락: Tour API 활용 시 특정 관광지의 이미지 정보가 제공되지 않아 UI의 일관성이 저해되는 현상 발생
- 데이터 불일치: 누락된 이미지를 보완하기 위해 Google Street View API 도입을 시도했으나, 관광지 본연의 모습이 아닌 주변 파편화된 사진이 노출되어 정보 신뢰도 저하 확인
- 해결 과정
- 정확도가 낮은 정적 이미지 한 장보다, 사용자가 직접 주변 환경을 탐색할 수 있는 인터랙티브 인터페이스가 더 가치 있다고 판단
- 모든 관광지 데이터에 대해 마커 클릭 시 해당 좌표에 대응되는 Kakao 로드뷰를 전면 적용하도록 설계 변경
- 성과
- 외부 API의 데이터 누락 리스크를 기술적으로 방어하고 모든 관광지에 대해 시각 정보 제공 보장
- 사용자가 실제 진입로와 주변 경관을 360도로 확인 가능하게 하여 사용자 경험(UX) 고도화