2020.07.13 ~ 2020.07.19일 일주일동안 진행되었던 AngelHack Seoul의 과정 및 후기에 대한 포스팅입니다.
참가
토이 프로젝트를 한창 안하던 당시 다같이 하나의 프로젝트를 만들어 보자는 말만하고 의지 부족, 시간 부족으로 인해 진행은 못하고 있는 상태였다.
그러던 중, AngelHack Seoul의 개최에 대해 알게 되었고 참가로써 개발에 대한 의지를 강제할 수 있지 않을까하여 함께 할 개발자들 4명을 모아 참게 하게 참가하게 되었다.
해당 대회에서의 토픽은 COVID-19으로 인한 문제에 대처하기 위한 기술 솔루션 을 만드는 것으로 먼저, 하위 토픽 중 소상 공인을 돕는 솔루션을 개발하기로 하였다.
진행 과정
Ideation
먼저, 슬랙방이 파지고 다양한 개발자분들, 디자이너분들, 기획자분들이 참가 하고 자기소개를 하기 시작하였다.
우리는 이미 팀으로 신청을 하였으며 개발자 4명이서 시작을 해보자는 의지가 강력하였기에 다른 팀원분을 구하지는 않은채 그대로 Ideation을 진행하였다. (이 후, 디자이너님들과 기획자님들의 고충과 위대함을 깨닳았다..)
Ideation 미팅 속에서 여러가지 소상 공인들을 위한 솔류션에 대한 Idea들이 샘솟았고 그 Idea들을 주르륵 리스팅하였다.
수많은 대화의 기록들..
길어지는 Ideation속에서 하나로 주제가 좁혀지지 않았고, 어떻게 하면 좁힐 수 있을까 생각하여 솔루션에 대해서 해당 주제가 제공할 수 있는 이점(메트릭)을 선정하고 각자 점수를 매겨 하나의 주제가 선정되었다.
해당 주제는 관광지 별 교통 혼잡도를 제시해주고, 그와 함께 관광지 정보를 제시하여 관광객들로 하여금 비교적 혼잡하지 않은 관광지를 방문하며 그에 대한 정보까지 제공받을 수 있는 솔루션이다.
기획
훌륭한, Frontend 개발 능력을 갖은 개발자들이 있었기에 View 구성이나 UI 기획은 잘 나오게 됐으며 포토샵을 할 줄 아는 친구 한명이 개발과 함께 디자인까지 도와주어 진행을 하게 되었다.
디자인적 기획은 관광지 지도를 보여주는 부분, 관광지 정보를 리스팅하여 띄워주는 부분, 제일 핵심 기능인 관광지 혼잡도를 클러스터링하여 마커로 나타내는 부분이 기획되었다.
주로 나는 서버 개발을 담당하였으며, Kotlin과 Spring Boot Framework을 이용하여 개발을 하게 되었다.
관광지 정보, 관광지 혼잡도 정보, 요일별 혼잡도 정보에 대한 DB 스키마와 API 디자인을 하게 되었으며, 추가적으로 tmap api, 관광지 정보 api에 대한 연동까지 고려가 되어야 했다.
개발 과정
다른 개발자 친구가 tmap api와 관광지 정보 api의 연동 및 데이터를 생성해주는 컴포넌트의 개발을 맡았고, 나는 해당 데이터들을 가공하여 DB에 넣고 조회하는 로직 설계 및 API를 개발을 맡아 진행하였다.
하지만, 개발 시작부터 크나큰 난관에 봉착했다.. 원래는 Geo Query를 위하여 RDBMS로 선택한 postgres의 extension인 PostGIS를 사용하려 했으나 테스트 과정에서 원하던 데로 조회가 안되는 문제가 있었다.
해당 문제로 퇴근 후 얼마없는 소중한 개발 시간을 날렸고 결국 위경도 좌표를 받아와 range 쿼리하는 식으로 대체하였다.
나머지는 순조롭게 진행되어 tmap api를 통해 혼잡도를 level별로 받아(1~10) 클라이언트에게 혼잡, 덜혼잡, 혼잡하지 않음 3가지로 표시하는 API를 개발하였다.
이 후, 관광지 API를 사용하여 지도 View 안에 있는 모든 지역의 관광지 리스트를 출력해주려 했는데, 2차 문제가 생겼다.. 😢 😢
관광지 API 사용에 대한 신청과 발급까지의 기간이 꽤 길어 해커톤이 끝나야 발급되는 상황이였다.
문제를 어떻게든 해결하려고 관광지 정보를 페이지 별로 파싱해 파일로 저장하여 불러와서 써야 되나 하는 고민에 빠진 찰나, 친절하게도 SPARQL로 관광지 데이터를 쿼리할 수 있는 페이지가 있어 해당 서비스로 관광지 정보를 긁어와 파일로 저장하였다.
그렇게 관광지 정보, 혼잡도, 요일별 혼잡도에 대한 개발은 5일 정도 소모하여 끝나게 되었고 엄청난 수고가 들어간 FE 개발까지 마쳐 모든 개발 과정이 종료되었다.
후기
결론적으로 우리는 나름 훌륭한 비즈니스 모델과 뷰라고 생각하였지만 다른 훌륭한 팀들의 프로젝트에 밀려 수상은 하지 못했다.
기획자와 디자이너의 필요성과 위대함에 대해 4명 모두 엄청난 공감을 하였으며, 다음에 다른 대회에 참가할때는 훌륭한 분들을 영입하여 모셔오자고 다짐했다.
거의 일주일동안의 짧지 않은 시간동안의 개발이였지만, 오랜만에 많은 작업량과 집중력을 갖고 한 작업이여서 뜻깊고 개발에 대한 열정을 불태울수 🔥 🔥 있는 소중한 시간이였다.
향후에도, 다른 해커톤이나 대회가 있다면 꾸준하게 참여할 생각이며, 디자인은 선천적인 재능의 문제로 불가능 할 것 같지만, 기획에 대해서도 좀 더 공부하여 기획력을 늘려 참가해보고 싶다.