본 게시글은 Dropper Lab.에서 Dropper API를 개발하게 된 과정을 담고 있습니다.

시작

우리가 할 수 있는 게 없을까?

코로나바이러스감염증-19(COVID-19)가 퍼지고, 집 밖으로 나가기 어려운 상황이 계속해서 연출되었다. 개학 연기 소식을 접한 우리는 사태 종식을 돕기 위해 전문적이지는 않지만 우리가 가진 지식들을 사용할 방법을 찾기 시작하였다. 그러면서 정부기관에서는 관련 데이터를 제공하는 API를 개발자들에게 제공하지 않고 있다는 사실을 접하게 되고, 공식 발표 자료들을 바탕으로 신속하게 정보를 제공할 수 있는 API를 개발하기 시작했다.

과정

데이터 받아오기

우리는 우선, 데이터를 받아오는 방법에 대해 고민하기 시작했다. 대한민국 질병관리본부에서 제공하는 COVID-19 공식 사이트에서 확진자의 이동경로를 더이상 업데이트 하지 않는다는 점이 가장 큰 이유였다. 일단, 국내/외 확진자 및 사망자 수 등의 통계 자료를 수집하는 크롤러를 개발하였고, 이를 이용해 데이터를 수직하기 시작하였다. 이후, 여유가 생길 때 마다 각 지역별 홈페이지에서 제공하는 확진자의 개인별 정보와 이동경로를 수집할 수 있었다. 가장 큰 문제는 매일 조금씩 변하고 있는 사이트의 구조였다. 사이트의 구조가 바뀔 때 마다 호환 가능하도록 최대한 코드를 수정하였고, 이 과정에서 거의 2주라는 시간이 흘러버렸다. 하지만, 이러한 투자 끝에 변화하는 웹 페이지 구조에서도 항상 원활하게 데이터를 받아오는 것이 가능한 크롤러를 완성할 수 있었다.

API Core 개발

사실 이 과정에서 크게 문제될 만한 일은 없었다. 순조롭게 계획한 대로 개발이 진행되었고, 그리 길지 않은 시간인 1주만에 작업이 끝났다. 이를 통해 근 1달 간의 짧다면 짧고, 길다면 긴 여정이 끝나게 되었으며 Dropper API 서비스를 성공적으로 출시하게 되었다.

서비스 홍보하기

사실 홍보는 지금부터 해야 한다. Dropper API에 가입한 사람이라면 누구나 기본적으로 3000회의 API 호출 권한이 주어진다. 이후, 실제 서비스 운용을 위한 추가 호출 권한이 필요할 때에는 관리자에게 연락하면 무상으로 상황에 맞추어 호출 회수를 늘려준다. 우리 서비스는 무상으로 제공되는 공익 서비스 개발에 한해서 자유롭게 사용할 수 있다. covid-19에 관련된 서비스 개발을 꿈꾸시는 분들이 Dropper API를 이용하여 편하고 빠르게 서비스를 개발할 수 있으면 좋겠다. 무분별한 크롤러의 사용으로 인한 질병관리본부 서버의 부하도 막고, 빠르게 다양한 서비스가 개발됨으로서 covid-19의 확산 저지에도 도움이 되었으면 좋겠다.

후기

1달동안 정말로 힘들었지만 즐거운 시간이었다. 같은 뜻을 가진 사람들과 함께 의미있는 프로젝트를 완성해 본 경험은 평생토록 잊지 못 할 의미있는 시간이 될 것이라고 확신할 수 있는 시간이었으며, 공익적 프로젝트를 진행하시는 분들에 대한 존경과 감사의 마음도 갖게 된 것 같다. 함께 해 준 모든 팀원들과 공익을 위한 프로젝트에 기여하시는 모든 사람들, 그리고 최전선에서 COVID-19와 사투를 벌이시고 계시는 의료진분들께 감사하며 이 글을 마치고자 한다.