사용자는 서버와 DB에 회원가입과 로그인 과정을 거치며, 인증과 동시에 파이어베이스에서 사용할 토큰을 DB에 저장함
출발지와 도착지를 입력하고 경로 탐색 버튼을 누르면 서버에서 경로를 계산하여 반환하고, 사용자가 원하는 경로를 선택함
주기적으로 사용자의 위치를 서버에 공유하기 시작하며, 서버는 해당 버스의 위치를 API로 주기적으로 갱신함.
사용자의 위치와 일정 버스와의 거리가 근접하게 유지되면, 탑승 버스로 판단하고, 사용자는 더 이상 위치를 서버에 전송하지 않음
탑승 버스가 목적지나 환승지와 근접하면, 사용자에게 하차벨 알림을 제공하고, 환승해야 하는 경우 다시 재탐색하도록 구현
사용자는 탑승한 버스가 판별되기까지 지속적으로 위치를 업데이트 하며, 탑승으로 판별된 버스가 존재하면 서버에서 stop 응답을 받고 위치 전송 서비스를 멈춤
서버는 탑승으로 판별된 버스가 목적지나 환승지와 근접하게 되면 하차 알림을 전송하고, 환승인 경우, 다시 경로를 선정하는 과정으로 돌아감
강남대역에서 출발하여 창현고등학교로 이동하는 시나리오를 작성했습니다. 로그인을 통해 서버로부터 인증을 받고, 사진과 같이 맵 액티비티로 이동함.
현재 사용자는 출발지와 목적지를 각각 강남대역과 창현고등학교로 설정했음.
강남대역에서 출발하여 창현고등학교로 이동하는 시나리오.
로그인을 통해 서버로부터 인증을 받고, 사진과 같이 맵 액티비티로 이동
사용자는 출발지와 목적지를 각각 강남대역과 창현고등학교로 설정하였음
이후 서버에서 탑승 버스를 계산하고, 알림을 보내게 되면 사용자는 notification으로 알림을 수신.
notification을 누르면 재탐색 확인 화면으로 이동하고, 다시 다음 하차 알림 서비스로 이동.