이력서
home
Product
home
💦

RIVER NOW (✨2022년 공공데이터 활용 서비스 개발 공모전 최우수상 수상작✨)

유형
Side Project (Essential)
한 줄 소개
여러 기관에서 제공 중인 하천수위 공공데이터를 통합하여 시각화된 하천수위 현황을 보여주는 재해안전 서비스
프로젝트 기간
2022/08/09 → 2022/12/08
프로젝트 기술 스택
React
Nest.js
Maria DB
GoLang
Docker
Netlify
팀 구성
2인 팀 (Front-End 1인, Front-End & Back-End 1인)
담당 포지션
Front-End
Back-End
1 more property

링크

GitHub Repository

real-time-river-level-korea
skymins04

Demo

Prize - 최우수상(NIA원장상, 3위)

2022년 공공데이터 기업 매칭 사업 - 공공데이터 활용 서비스 개발 공모전
1 ~ 2위는 기업팀, 3 ~ 5위는 학생팀으로 4,5위 대학교팀을 제치고 고등학교팀이 3위 달성.

Press

담당 역할 및 기술 스택

프로토타입 개발: 1인 개발
React
Redux
Nest.js
MySQL 5.7
Vercel
공모전 개선 버전 개발: BackEnd 담당
Nest.js
MySQL 5.7
GoLang

 주요 개발사항

프로토타입
시도별 SVG 지도 출력을 통합한 컴포넌트
서울시 하천수위 현황 API를 지도 인포그래픽으로 시각화 기능
i18n 다국어 기능
SNS 공유 기능 (카카오톡, 페이스북, 링크복사)
기본적인 UI
공모전 개선 버전
GoLang으로 각 기관별 하천수위 API에 최적화된 크롤러 개발
GoLang 크롤러 Cron schedule 작성
기관별 하천수위 데이터의 통합 시스템 개발 (유효성 필터링, 표기 체계 통일화, 스키마 통일화)
하천 수위 제공을 위한 통합 RESTful API 개발
백엔드 설계
프론트 앱은 Netlify와 GitHub+JSDelivrCDN으로 정적 서비스
Nest JS로 API 서버 운영 (동시성 문제와 권한 문제 방지를 위해 DB 접속은 API 서버로 제한함)
발행한 API 별로 Role을 부여하여 접근 가능한 엔드포인트 분리
크롤러 인스턴스를 Cron을 통해 주기적으로 실행하여 공공데이터 API에서 데이터를 받아와 API 서버로 전달 (DB에 데이터 삽입은 전적으로 API 서버만이 수행한다.)
하천수위 공공데이터 API 통합계획
대체적으로 실시간성이 떨어지는 정보들이 포진해있음. 실시간성이 떨어진다는 이유로 서비스 범위에서 모두 배제하게되면 실질적으로 이용가능한 api 턱 없이 부족함.
따라서 실시간성이 떨어지더래도 크롤링에 대상으로 정보를 가져오고, 시각화를 하는 과정에서 최신 데이터의 업데이트 일자가 너무 오래된 경우 이를 경고해주는 식으로 진행해야할 것 같다.