Skip to content

mountainn-dev/Busing

Repository files navigation

버싱

�OS API Language Layout �OpenAPI Profile �Download

busing_graphic

소개

버싱은 기존 버스 모바일 서비스에서 발견되는 앱 안정성 문제를 보완하고, 버스 이용 시 편의성을 높여줄 수 있는 기능들을 지속적으로 제공하고자 제작된 무료 모바일 서비스입니다.

API

경기도교통정보센터에서 제공하는 공공 API 로, 경기도에서 관리하는 버스 및 정류장 기반 정보와 더불어, 버스 교통카드 단말기로 버스 및 정류장 실시간 정보가 연동되어 해당 데이터를 오픈 API 형태로 제공

제목 없는 디자인 [ 출처: 경기도교통정보센터 ]

API 기능 목록

스크린샷 2024-09-24 시간: 00 05 40 [ 출처: 경기도교통정보센터 ]

기능

  • 노선 조회
    노선 이름을 이용한 노선 검색 및 노선 정보 조회 (심야 버스 검색 Version 1.2) 실시간 버스 위치 정보 조회(정류장 단위) 노선 경유 정류장 빠른 검색 기능(Version 1.3) 최근 검색 기록 제공
    busing_record_search_route busing_record_route_detail

  • 정류장 조회
    정류장 이름 또는 번호를 이용한 정류장 검색 및 정류장 정보 조회 실시간 버스 도착 정보 조회 최근 검색 기록 제공
    busing_record_search_station_detail

  • 즐겨찾기
    노선 또는 정류장 즐겨찾기 등록 시 최근 검색 목록에 고정
    busing_record_bookmark

아키텍쳐

  • 구글 앱 아키텍쳐 (3 Layer) 를 기반으로 구성
    직관적이고 명확하여 프로젝트 유지보수에 용이
    Data - Domain - View(Presentation) 3 Layer

    Data Layer 스크린샷 2024-09-24 시간: 21 48 36

    Domain Layer 스크린샷 2024-09-24 시간: 20 56 19

    View(Presentation) Layer 스크린샷 2024-09-24 시간: 22 07 46

  • MVVM 패턴 적용
    모델과 뷰 사이 중개역할을 맡는 컨트롤러의 비대 현상을 방지할 수 있는 MVVM 패턴을 적용
    동시에 도메인 모델이 도메인 로직을 담당하여 뷰모델의 책임 과부하 방지

  • 최종 모듈
    스크린샷 2024-09-24 시간_ 01 53 02

기술

  • API Level
    Minimum 29 -> 31 (9.22 추후 AnimatedSplashIcon 사용 예정으로 조정)
  • Async
    Coroutine(VIewModel Scope) + LiveData
  • Remote Data
    Retrofit + TickXML
  • Local Data
    Room
  • Data Exception Handling
    XMLPullParser + Interceptor

버전

  • 1.0
    노선, 정류장 조회 기능
    실시간 버스 도착 정보 및 버스 위치 정보 조회 기능
    노선, 정류장 즐겨찾기 등록 기능

  • 1.1
    실시간 버스 위치 정보 정확도 개선
    회차지 오토 스크롤 정확도 개선
    기타 버그 수정

  • 1.2
    노선 검색 시 심야 버스 체크 기능 추가
    기타 버그 수정

  • 1.3
    노선 상세 화면 경유 정류장 빠른 검색 기능 추가
    정류장 버스 도착 정보 운행 상태 정보 제공
    기타 버그 수정 및 사용자 편의성 개선

  • 1.4
    설정 화면 추가

  • 1.5
    기타 버그 수정 및 사용자 편의성 개선