이번 포스팅에서는 2022.08.26 ~ 27 에 참여한 서울시 IoT 공공도시데이터 해커톤 참여 후기를 포스팅하도록 하겠습니다.
방학이 시작하면서 해커톤에 참여하여 정보통신부 장관상을 수상한 쾌감을 잊을 수 없었습니다.
그 때의 기분을 다시 느끼고 싶은 마음에 개강 직전에 여러 사람들과 함께할 수 있는 대외활동을 찾아보다가 마침 서울시에서 주관하는 해커톤을 찾을 수 있었습니다!
역시 해커톤 답게 누구나 참여할 수 있고, 어떠한 결과물이든 제출할 수 있었습니다.
필자는 Android 개발자이기 때문에 본인을 포함한 클라이언트 개발자 2명, 백엔드 1명, 디자이너 1명으로 총 4명으로 팀 '다원' 을 이루어 해커톤에 참여하였습니다.
해커톤에 참여하기 위해서는 위 데이터를 포함한 다양한 API 및 데이터셋 중에서 반드시 하나를 활용해야 합니다.
우리팀 '다원'은 두 차례의 회의 끝에 장애인 주차구역 제공 및 불법주차 신고 서비스를 제공하자는 아이디어를 도출하였습니다.
그렇기 때문에 여러 데이터 중에서도 '장애인 주차구역 IoT 데이터' 를 활용하기로 하였습니다.
"" 서비스 소개 ""
“비어있으면 주차해도 되는 것 아니에요?”
국가에서는 장애인을 위한 주차 구역을 제공해주지만, 정작 주차장 공간이 부족한 경우에는 장애인 전용 주차구역에도 서슴치 않고 불법 주차를 하는 사례가 증가하고 있습니다.
또한, 사용자가 직접 전용 주차구역에 가지 않으면 빈자리 여부를 알 수 없는 문제점을 인식하였습니다.
따라서, 장애인 주차구역 스마트관리 서비스(IoT 데이터)와 서울시 공영주차장 안내 정보 데이터를 병합하여 장애인분들도 쉽고 간편하게 이용할 수 있는 서비스를 개발하였습니다.
특히, 큰 글씨와 버튼, 음성 검색 등을 적용하여 UX/UI 에 최대한 신경써가며 작업하였습니다.
본선에 진출하기 위해서는 작품계획서(PPT 등 10장 이내)를 작성해야 했습니다.
회의를 거쳐서 나온 아이디어를 바탕으로 디자이너분께서 작업을 진행해주셨고, 개발자분과 함께 해당 PPT를 검토한 후 최종적으로 제출하였습니다.
그 결과...!!
결과적으로 팀 '다원'은 본선에 진출할 수 있었습니다.
이제 디자이너님께서 본격적으로 Figma를 사용하여 화면을 그리고, 개발자는 해커톤에 사용할 아키텍처 선정과 필요한 라이브러리, 기술 스택 등을 정리하였습니다.
Android는 아키텍처로 MVP + Clean Architecture를 선정하였으며, 다른 클라이언트 개발자 분께서 Flutter가 편하다고 하셔서 Flutter와 Android Native를 모듈 형태로 받아와서 작업하였습니다.
해커톤은 상암동에 위치한 S-Plex 센터에서 진행되었습니다.
도착했더니 팀 명찰과 API 가이드라인이 담긴 문서를 받을 수 있었습니다.
그렇게 시간이 지나고 본선이 다가 왔습니다.
이제 막 개발을 시작한 터라 마구마구 기대되는 스타트 분위기였습니다!
그렇게 시간이 지나고.... 어느새 밤이 되었습니다.
(확실히 해커톤을 하다보면 시간이 몇 배 더 빨리 흐르는 느낌ㅠㅠ)
하지만 아무래도 밤을 새야 하는 해커톤이다보니.. 다들 많이 지쳐가고 있었습니다.
이번 서울시 IoT 해커톤에서 아쉬웠던 점은 개발 환경이었습니다.
장시간 개발해야 하는 상황에서 딱딱한 의자와 4명이 작업하기에는 다소 작은 책상이었습니다. 😢
아침 9시부터 시작해서 저녁쯤 되니까 허리가 슬슬 아프기 시작했습니다.
남은 시간을 최대한 효율적으로 활용하기 위해서 정신적 회복도 할 겸,
팀원분들과 스트레칭겸 팀원분들과 산책을 나갔습니다.
힘든 상황에서 같이 산책을 하면서 밤공기를 맡으니 컨디션이 훨씬 회복되었습니다!
""밤샘 작업하면서 만든 결과물""
결과적으로 기능은 모두 예상했던대로 구현할 수 있었습니다.
결과물과 발표 PPT를 제출한 후 1시간 정도 후에 발표를 진행하였습니다.
"" 발표 중에 받은 질문 ""
발표에서는 '어떤 기술을 사용했는가' 보다는 '서울의 어떤 도시 문제를 해결할 수 있는지', '유사한 서비스와 어떤 점이 다른지' 설명하는 데에 중점을 두었습니다.
심사위원은 대학 교수님들로 이루어져 있었고, B-Map(비맵)의 요일별 장애인 주차구역 주차 차량수 예측의 UX/UI 관련 질문을 받았습니다.
심사위원님 : "통계를 보기 쉽게 나타내는 방식이 상당히 많은데 굳이 선형 그래프를 사용한 이유가 있을까요?"
팀(다원) : "요일의 시간대별로 데이터 예측값을 나타내야 하는데, 선형 그래프는 굴곡을 통하여 변하는 데이터 값을 나타내기 때문에 가장 직관적으로 데이터를 보여줄 수 있는 방식이라고 생각하여 채택하였습니다. 실제로 서비스를 구현하게 된다면 지금보다 더욱 보기 편안한 방법이 있는지 충분히 고려해본 뒤에 반영하도록 하겠습니다. 감사합니다"
B-Map은 장애인분들을 대상으로 하는 서비스이기 때문에 실제로 어떻게 해야 사용자가 더욱 편안하게 사용할 수 있을지에 대한 고민을 가장 많이 했던 것 같습니다.
이 외에 기술적인 질문은 따로 하지 않으셨고 발표가 마무리되었습니다.
" 결과 발표 "
결과로는 '우수상'이라는 감지덕지한 상을 수상하였습니다.
다들 끝까지 최선을 다해 노력해주셨기 때문에 좋은 결과를 도출해낼 수 있었던 것 같습니다.
:: 상금 200만원 + 서울특별시장상 ::
" 후기 & 아쉬운점 "
후기
- 방학의 끝을 해커톤 입상으로 마무리하여 기뻤습니다.(🏆 서울특별시장상)
- 짧은 시간이지만, 처음으로 MVP+Clean Architecture를 적용해볼 수 있었습니다.
- 처음으로 Dagger Hilt를 사용하여 의존성 주입을 통해 레이어간의 의존성을 줄일 수 있었습니다.
- 저번 해커톤보다 코드를 보다 깔끔하게 작성할 수 있었습니다.
- 개발자의 소양 중 하나인, 협업 경험과 커뮤니케이션 레벨이 높아졌습니다!
- 또 다른 해커톤에 참여할 기회가 생긴다면, 더욱 기대되는 마음으로 참가할 마음가짐을 갖추게 되었습니다.
아쉬운점
- 최근에 공부하고 있는 테스트 코드를 적용해보고 싶었지만 시간 관계상 실전에서 사용해보지 못했습니다.
- 다른 팀 참가자들과 소통할 시간이 없어 아쉬웠습니다.