- 해당 프로젝트는 한국교통대학교 진로탐색 학기제를 통해 팀을 구성하고 진행한 프로젝트
- 모든 병원의 진료가 끝난 시간 구급차를 부르기에는 애매하고 함께 가줄 사람이 있는 경우의 사용자에게 주변 응급실 정보를 제공하기 위한 목적의 서비스
- 필연적으로 응급실에 가야하는 응급상황이라면 AED 가 필요한 경우가 존재하고, 또한 응급상황 발생시 구급차가 오기전에 조취를 취해야 하는 경우 주변 AED 정보와 위치를 제공한다면 사용자에게 있어 좋은 영향을 줄 것이라고 판단
-
주변 병원 탐색
-
병원 이름으로 검색
- 반경 11km내의 응급실과 AED 탐색 (응급실 상세정보 페이지에는 실시간 가용 병상 수와 입원 가능 여부 표시, AED는 지도에 아이콘을 이용해 표시)
- 공공 데이터 포털의 데이터를 활용해 병원 정보와 각 병원이 응급의료 기관을 가지고 있는지 등의 정보와 전국 AED 정보를 DB 에 적재
- 사용자가 해당 페이지로 진입하면 Kakao Map Api 를 통해 현재 위치를 백엔드에게 제공
- 백엔드에서 전달받은 사용자의 현재 위치를 기반으로 DB 에서 반경 11km 내의 응급의료 기관과 AED 를 조회
- 조회된 응급의료 기관은 목록으로 제공, AED 는 마커를 이용해 지도에 표시하고 마커를 클릭하면 해당 AED 의 상세 위치 표출
- 조회된 응급의료 기관 목록 중 사용자가 선택한 응급의료 기관의 이름을 백엔드에서 전달받아 해당 병원의 이름으로 DB 에서 주소 정보를 조회 후 공공데이터 포털의 실시간 응급실 가용병상 등의 실시간 정보를 크롤링
- 실시간 응급실 가용병상 등의 실시간 정보는 공공데이터 포털의 Api 의 요청 변수가 시도, 시군구 이기에 사용자가 선택한 병원의 이름으로 바로 데이터를 크롤링 하면 DB 에 부하가 적어 좋겠지만 불가능함
- 또한 이 로직에서 사용자 선택 병원으로 DB 조회 -> 조회된 병원의 주소 (데이터 정제, 병원마다 같은 서울이여도 서울특별시, 서울시 등 전부 다르게 등록되어 있음) -> 실시간 데이터 크롤링 -> 크롤링한 데이터에서 해당 병원의 기관 코드와 일치하는 병원 탐색 -> 사용자에게 반환
- 이러한 데이터 제공에 있어 많은 과정이 진행되기에 수행 시간이 길다(이 부분은 ERD 설계를 통해 병원 정보를 조회할 때 조회되는 속성값을 줄임으로써 어느정도는 해소가 가능해 보임)
- 실시간 데이터를 제공함에 있어 로직 수행 시간을 단축시킬 필요성이 있음
- 병원 데이터를 저장하는 테이블의 속성량이 너무 많기 때문에 조회시 쿼리 수행시간이 길어짐. ERD 설계를 통해 분리할 필요성이 존재
- 현재 모든 api 의 요청 주소가 test 용도로 작성되어 있음 (restful 한 api 작성이 필요), 개발 당시 restful 이 무슨 말인지도 모르고 무작정 개발한 것이 문제
- 프론트 백엔드 전부 실제적으로 배포까지 한 웹 서비스가 처음이기에 부족한 점이 많이 보임. 전체적인 구조의 개선이 필요함