종합설계 프로젝트 - 편의시설 기반 원룸추천 서비스
서비스 기능적 목표
- 사용자가 검색하고자 하는 주소를 입력하고, 검색 지원하는 편의시설(병원, 편의점 등) 및 검색하고자 하는 반경을 입력하면 해당 조건에 맞는 편의시설은 어떤 것이 있는지 출력
- 편의시설은 지도에 marker 형태로 출력하며, 결과창에 리스트 형태로 출력
- 추가적으로 해당 편의시설에 대한 요약적 정보 또한 출력
- 사용자가 입력한 조건에 따라(편의시설, 반경) 두개의 주소를 비교할 수 있음
- 버스정류장, 지하철역을 제외한 편의시설 데이터는 사용자가 항상 최신의 데이터를 확인하여 활용할 수 있도록 하루에 한 번씩 갱신될 수 있도록 함
나의 역할
- 편의시설 DB 관리 서버 제작
- 편의시설 데이터베이스 구축
- 편의시설 데이터베이스 갱신
- 기타 서비스에 사용될 편의시설 데이터 가공 => 결과 응답
프로젝트 시스템 설계도
- 최종 구성된 서비스 설계도는 다음과 같음
- 편의시설 데이터를 수집, 갱신하는 서버와 웹서버를 따로 둠
- 로그인, 리뷰조회 등 서비스는 바로 웹서버에서 RDS에 요청,응답과정을 거치지만 편의시설 데이터를 조회, 결과 데이터를 얻기 위해서는 편의시설 DB 관리 서버에 통해 결과를 응답받을 수 있음
- DB 관리 서버는 flask와 Nginx를 활용하여 Docker을 통해 AWS EC2로 배포하였으며, React를 활용한 웹 서버와 django DRF API 서버는 각각 cloudtype이라는 PaaS를 통해 배포하였다
- DB서버는 다음 역할을 한다
- 우선 기반이 되는 원천 데이터(인허가데이터 같은 경우는 csv bulk데이터를 제공하므로 그것을 전처리후 DB에 적재 하고 버스, 지하철데이터는 API 서버 요청을 통해 받은 json파을을 전처리 후 DB에 적재한다)
- 그리고 인허가데이터는 일 단위로 API서버에 요청을 하여 변동분 + 추가 + 삭제 데이터를 반영하여 DB에 적재한다