과제 목표 : Open API 방식의 공공데이터를 수집, 가공하여 전달하는 REST API와 이를 요청하는 클라 이언트 개발

서울시 강우량과 하수관로 데이터는 공공 api를 통해 얻을 수 있다. 우리 서버는 이 데이터를 요구사항에 맞게 전처리하여 응답으로 보내주면 된다.

❗️ 강우량 데이터와 하수관로 데이터셋은 각각 다른 이름으로 ‘구'를 지정한다.

➡️ 두 데이터셋을 ‘구'로 결합하기 위해 관계를 이어줄 수 있는 테이블을 생성한다.

❗️ 클라이언트가 우리 서비스의 rest api를 요청할 때마다 공공 api를 호출하게 설계하는 경우, 공공 api 서버에 문제가 생기면 우리 서비스의 서버도 작동하지 못하게 된다.

➡️ DB에 데이터셋을 넣어놓고, 요청에 맞는 데이터를 DB에서 조회하여 제공해준다.

❗️ DB에는 과거의 데이터셋만 넣어놨기 때문에, 클라이언트가 최신 데이터를 요청하는 경우 응답할 수 없다.

➡️ 일정 간격으로 DB 최신화하는 작업을 자동화 한다.

❗️ 강우량 데이터와 하수관로 데이터의 측정시간 다르다. 강우량 데이터는 10분 단위로 기록, 하수관로 데이터는 1분단위로 기록

➡️ ex) 클라이언트가 ‘마포구’의 ‘2021년 11월 1일 23시 50분'데이터를 요청할 경우

➡️ 강우량 테이블에서는 ‘마포구'의 ‘2021년 11월 1일 23시 59분’ 기록을 보여주고, 하수관로 테이블에서는 ‘2021년 11월 1일 23시 50분’의 모든 하수관 데이터를 보여준다.

➡️ 두 데이터의 시간 기준을 잡아서(ex: 기상청 업데이트 기준과 동일한 30분 단위) 데이터를 정제하여 보여준다.

(이 때, 시간 기준을 잡은 이유에 대한 부분은 논리적으로 설명 가능해야 한다.)

데이터 출력 예시
{
	'강우량': [
						{'마포구청': 0.5,
						 '봉원 p': 0.4,
						}
					]
	'하수관로': [
							'14-0001': 0.09,
							'14-0002': 009,
								...
							'14-0020': 0.08,
						]
}