Skip to content

bonun00/bustory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 

Repository files navigation

🚌 군 지역 버스 정보 서비스 (Bustory)

Bustory 메인 화면

"함안, 마산 등 버스 정보가 부족한 군 지역 주민들을 위한 맞춤형 실시간 버스 정보 서비스"

국토교통부 공공데이터를 활용하여 정보 접근성이 낮은 군 단위 지역의 버스 노선, 실시간 위치, 도착 예정 시간을 빠르고 직관적인 UI로 제공합니다.

🔗 Bustory 공식 웹사이트 바로가기


✨ 주요 기능 (Key Features)

📱 사용자 경험 (Frontend)

  • 📍 버스시간 안내: 버스가 몇 시에 도착하는지 직관적이고 상세한 시간표 정보를 제공합니다.
  • ⏱️ 도착 정보 안내: 선택한 정류장에 버스가 도착하기까지 남은 시간과 이전 정류장 위치를 실시간으로 시각화하여 보여줍니다.

⚙️ 데이터 처리 (Backend)

  • 🔄 실시간 데이터 프록시 및 가공: 공공데이터포털의 복잡한 XML/JSON 데이터를 프론트엔드가 소비하기 좋은 직관적인 데이터 구조로 정제하여 제공합니다.
  • 응답 속도 최적화: 공공데이터 API의 네트워크 지연 및 제한 사항을 고려한 효율적인 데이터 요청 및 캐싱 처리를 수행합니다.

📈 서비스 운영 및 수요 분석 (Metrics & Analytics)

네이버 애널리틱스 분석 화면

Bustory는 단순한 서비스 개발에 그치지 않고, **네이버 애널리틱스(Naver Analytics)**를 연동하여 실제 사용자들의 유입과 행동 패턴을 모니터링하며 서비스를 지속적으로 개선하고 있습니다.

  • 실제 유저 기반의 운영: 일평균 7명 내외의 지역 주민 및 고정 이용자가 출퇴근 및 이동 목적으로 꾸준히 방문하고 있습니다.
  • 유입 키워드 분석 및 최적화: 유저들이 검색을 통해 유입되는 주요 키워드(특정 버스 번호, 정류장 이름 등)를 분석하여 **검색 엔진 최적화(SEO)**를 고도화했습니다.
  • 목적 지향성 트래픽 대응: 단순 호기심성 방문이 아닌 실생활 이동을 위한 목적형 트래픽임을 확인하여, 모바일 환경에서의 첫 페이지 로딩 속도와 **직관적인 가시성(UX)**을 최우선으로 개선 중입니다.

🚀 아키텍처 및 성능 최적화 (Architecture & Optimization)

🔄 무중단 배포 아키텍처 (Zero-Downtime Deployment)

새로운 기능이 배포될 때도 대중교통 정보 제공에 중단이 발생하지 않도록, Nginx 리버스 프록시를 활용한 블루-그린(Blue-Green) 형태의 무중단 배포 체계를 구축했습니다.

⚡ Redis 기반 Dynamic TTL 캐시 최적화

국토교통부 공공데이터 API의 호출 제한(Quota)을 방어하면서도 유저에게는 실시간 도착 정보를 가장 정확하게 제공하기 위해, 버스가 정류장에 가까워질수록 캐시 만료 시간(TTL)을 동적으로 단축하는 로직을 구현했습니다.

버스 남은 시간 (minArrTimeSec) Redis 만료 시간 (TTL) 적용 의도
1분 이하 (<= 60초) ⏱️ 10초 도착 직전 연타 구간: 실시간성 극대화
3분 이하 (<= 180초) ⏱️ 30초 진입 및 대기 시점: 데이터 신선도 유지
10분 이하 (<= 600초) ⏱️ 60초 안정적인 대기 구간: 표준 캐시 적용
10분 초과 / 없을 때 ⏱️ 180초 버스가 멀리 있는 상태: 공공 API 호출 최소화

🎯 핵심 효과

  • API 제한 방어: 버스가 멀리 있을 때의 불필요한 중복 호출을 줄여 서버 자원을 효율적으로 보호합니다.
  • 실시간 UX 보장: 버스 도착 직전 순간만큼은 10초 주기로 촘촘하게 데이터를 갱신하여 정보의 정확도를 대폭 높였습니다.

🛠 통합 기술 스택 (Tech Stack)

분야 (Category) 기술 (Technology)
Frontend TypeScript, Kakao Maps SDK
Backend Java, Spring Boot
Infra & DB AWS EC2, Docker, Nginx, Redis
External API 국토교통부 공공데이터포털 (BusArrivalService API)

About

[ 개인 프로젝트 ] 농어촌 지역의 버스 시간을 편리하게 볼 수 있는 서비스입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors