안녕하세요!
저는 정식 명칭 디지랩(DigiLab) 챌린지: 기술로 바꾸는 세상 해커톤에 농바니즈팀-프론트엔드 개발자로 참여했는데요.
어떻게 참가하게 됐고, 어떤 방식으로 해커톤이 이루어졌는지 세세하게 작성해 보겠습니다!
https://digilab-hackathon.com/
디지랩(DigiLab) 챌린지: 기술로 바꾸는 세상 해커톤
제주의 변화를 이끌어 갈 혁신가를 모집합니다.(모집: 10/28~11/17)
digilab-hackathon.com
디지랩 챌린지 해커톤
디지털 기술을 활용한 제주 지역 현안사항 해결 해커톤
제주에서 3박 4일간 펼쳐지는 오프라인 해커톤입니다. 제주 지역 내 복합적인 문제 해결을 위한 창의적 아이디어 발굴과 기술 구현을 통해 디지털 격차를 해소하고, 스마트한 지역사회 구축에 기여하며 함께 성장할 수 있습니다.
- 모집 대상: 전국 대학 재학생 및 청년 등 약 30명
- 모집 형태: 기획자, 디자이너, 개발자가 1명씩 필수로 포함된 3~5인으로 구성된 팀
- 해커톤 장소: 카카오 스페이스 닷원, 플레이스 캠프 제주
- 해커톤 주제: 교통, 복지, 1차 산업(농, 축, 수산업)
- 수상 혜택: 상품과 상장, 프로젝트 고도화 지원, 성과 공유회 참여 기회
- 참가자 혜택: 전문가 강연&멘토링, 온라인 강의 쿠폰, 1인 1실 숙소, 식사 및 간식, 이동 지원, 특별 기념품, 수료증
출처: 디지랩 챌린지 해커톤 홈페이지(https://digilab-hackathon.com/)
참가 경로
저는 당장 참여할 수 있는 해커톤을 구글링으로 찾다가 우연히 디지랩 챌린지 해커톤을 발견하게 되었어요. 해커톤? 근데 제주도? 재밌겠다! 라는 생각으로 참여하고 싶었고, 아무래도 혼자 찾았다 보니까 같이 할 수 있는 팀원들이 당시에는 없었어요. 기획, 디자이너, 개발자가 모여야지 지원을 할 수 있더라구요 ㅠㅠ
근데 마침 !! 이런 노고를 아시는지 홈페이지에 팀원 모집 게시판이 있더라구요! 그래서 며칠 고민을 해보다가 결국에는 "저,, 프론트엔드 개발자인데 데려가실 분,," 이라고 글을 올렸습니다 ㅎㅎ

그러다 몇 시간 정도 있으니 저희 팀의 기획자이신 병관님께서 연락을 주셨어요. (이제야 말하지만 너무 감사합니다..ㅠㅠ)
기획, 백엔드 개발까지는 있는데 디자이너 분은 아직 구하신다고 하셔서 다 모일 때까지 기다렸어요.
다행히도 디자이너 분도 구해져서 저희는 마감 하루 전에 팀이 완성됐답니다.. ~
주제 선정 및 아이디어 도출
저희는 주제를 1차 산업, 그 중에서도 농업으로 잡았어요. 제주 지역에서 재배되는 월동 작물들에 대해서 오프라인으로 받고 있던 신고를 온라인으로 받을 수 있도록 월동 채소 재배 면적 신고 시스템을 서비스화 하기로 했어요.
신고를 받는 것은 물론 사용자의 작물 재배 면적, 출하 현황 등을 차트를 통해 시각화하고 모든 재배 면적 신고에 대한 적정 현황과 예상 가격 등을 조회할 수 있도록 했어요. 또한, 관리자를 두어 신고의 허위성을 판별하고 접수된 신고를 승인, 거절할 수 있도록 하여 데이터를 업데이트하기로 했습니다.
사실 기획서 낼 때까지는 신고 받는 것만 있고 알림 기능과 캘린더 기능 등을 넣었었는데, 해커톤 진행하면서 기획이 많이 바뀐 케이스랍니다 ~ 😗
결과 발표
하루 전에 팀이 결성됐다보니 급하게 주제를 잡고 기획을 했는데 다행히도 참여팀으로 선정되었어요 😆

너무너무 고생하신 우리 기획자 분,, 새벽 4-5시? 까지 아이디어 기획서를 작성하신 것 같더라구요. (정말 감사합니다 ㅠㅠ)
합격 발표는 기획자분께 문자가 왔고, 이후 팀원들에게도 메일이 왔어요 !

합격한 팀들은 디스코드 채널에 먼저 가입을 했어요. 점점 모이는 사람들을 보니 선정된 게 실감이 나더라구요..!
바로 비행기 표를 예매하고 미리 도착해서 묵을 숙소도 잡는 등 저는 준비를 시작했습니다.
웨비나
해커톤을 시작하기 약 일주일 전에 웨비나가 있었어요. 해커톤 소개와 각 팀들 소개 등 간단히 OT가 진행되었고, 다양한 강사님들의 강의도 포함되어 있었습니다. 약 4시간에 걸쳐 진행되었는데, 어떻게 해커톤을 진행하면 좋을 지 많이 생각하게 된 것 같아요. 학습 자료들도 남겨주셔서 정말 도움이 많이 되었어요!
해커톤 시작
1일차
첫 날에는 카카오 스페이스 닷원에서 개회식과 카카오 조훈 부장님의 교육, 팀 소개 및 네트워킹 등이 이루어졌어요.
처음 열리는 해커톤인데도 불구하고 체계가 딱딱 잡혀있는 게 엄청 좋더라구요.



먼저 참가자 등록을 하고 굿즈들을 받았는데 너무너무 만족스러웠어요! 그리고 간식들도 엄청 챙겨주셨는데 참가자들을 위하는 우리 운영진분들 감동이였습니다..🥹

저는 일찍 도착해서 카카오 건물을 둘러보는데 갤러리가 있길래 사진 엄청 찍고 나왔습니다. ㅎㅎ 역시 대기업,, 좋긴 좋네요,,




당시 날씨가 안 좋아서 비행기가 결항도 많이 되고 지연도 엄청 많았는데 그래서 개회식이 조금 늦게 시작했어요. 일정들이 조금씩 밀렸지만 그마저도 괜찮았답니다. (여기 참여한게 어디냐며.. ~)

개회식 후에는 카카오 조훈 부장님이 성공적인 해커톤 결과물 도출이라는 주제로 강의를 해주셨어요. 정말 여기서 도움이 많이 됐던 게 저희가 원래 기획했던 내용들을 많이 수정하는 계기가 되었고 그게 좋은 결과로 이어지게 됐어요.
특히 가장 기억에 남는 말이자 부장님이 가장 좋아하시는 말 "거인의 어깨에 올라타라"
해커톤이니만큼 모든 걸 하나하나 구현할 필요 없이 나와있는 오픈 소스들을 많이 이용하고, 핵심 기능이 아닌 로그인 같은 기능들은 오히려 쳐내는 것이 좋다고 하셨어요. 그래서 정말 많이 쳐내고 바꿨습니다 ㅎㅎ

이후 팀 소개와 네트워킹 등을 하고 해커톤 장소로 이동했어요. 플레이스 캠프 제주에서 숙식과 해커톤이 이루어졌어요.
정말.. 숙소와 밥이 공짜라니.. 너무 좋지 않나요??
첫 저녁은 무려 흑돼지!!! 정말 3박 4일 동안 가장 맛있었습니다🤤


원래 첫 날은 실제 개발이 진행되는 일정은 아니었는데 많은 팀들이 밤에 모여서 진행하기를 원했고, 운영진분들께서도 이를 받아들여주셔서 9시 이후부터 해커톤 장소에서 원하는 팀들은 회의 및 개발을 진행했어요.
저희 팀도 밤 9시부터 11시 정도까지 진행했던 것 같아요 :)
2일차
아침은 조식을 먹고 시작했어요. 숙소 내에 위치한 카페에서 받을 수 있는 베이글 + 커피 쿠폰을 나눠주셨거든요. 무려 3일치 모두!!


아침 9시부터 자유롭게 해커톤이 진행되었고, 저는 프론트엔드 개발자였기 때문에 디자인이 나오기 전 기능 개발부터 들어갔어요.
미리 캘린더나, 알림 기능을 구현해왔었는데 전부 제외하게 되어 처음부터 다시 시작하게 됐지만, 오히려 아이디어가 더 좋아졌기 때문에 불만은 전혀 없었습니다!
간단한 입력 기능부터 데이터를 가져오는 부분을 구현해서 API 연동을 먼저 진행했고 백엔드 개발자분이신 용현님과 많은 소통을 했던 것 같아요. CORS 에러부터 데이터가 자꾸 리셋되는 등등 발생했던 에러들이 많았는데, 열의 아홉은 용현님의 잘못이다는 병관님의 말씀이 현실이 됐던 게 정말 웃겼던 일화 중 하나인 것 같아요 ㅎㅎㅎ
2일차 점심으로는 소불고기 뚝배기🥘, 저녁으로는 고등어 쌈밥 🐟🥬 을 먹었어요. 정말 밥들이 잘 나오지 않나요? 행복합니다 ~

그리고 점심 이후부터는 멘토링이 시작되었어요. 저희 팀 멘토 분은 백엔드 개발을 하시는 실무자 분이셨는데 저보다는 기획, 백엔드 개발자분들과 소통을 많이 하신 것 같아요! 멘토 분과의 중간 점검을 했고 어떤 서비스인지 구체적으로 설명 드리고 진행 사항들을 알려드렸습니다.
이후에는 또 자유롭게 해커톤과 자율 멘토링을 진행했어요. 2일차까지는 아직 한창 개발 중이여서 저는 따로 멘토링은 하지 않았답니다.
저녁 먹고와서도 자유롭게 해커톤이 진행되었고, 플레이스 캠프 내에 있는 소품샵?도 구경하고 다시 서비스도 개발하다가 새벽 2시가 넘어서야 겨우 숙소에 들어올 수 있었습니다 ㅎㅎ

3일차
3일차도 2일차와 마찬가지로 똑같이 진행되었어요. 대신 2일차는 중간 점검 이후에 자율 멘토링이였다면 3일차는 자율 멘토링 후에 중간 점검이 있었습니다.
일단 아침에는 페이지 퍼블리싱을 먼저 진행했어요. 사용자 입력 페이지를 퍼블리싱하는 데 여러 페이지로 나눠져 있다보니 Zustand를 사용해서 전역으로 상태들을 관리했어요. 그리고 체크 박스, 라디오 버튼, 드롭 다운 등 많은 컴포넌트 들이 있어서 퍼블리싱하는 데 꽤 애를 먹었습니다 ㅎㅎㅠㅠ 예상보다 시간을 많이 잡아먹었고 결국 저는 자율 멘토링 때 프론트엔드 멘토 분을 따로 찾아갔어요.
지금 진행 사항이 어떤 지 말씀드리고, 차트 부분에서 디자인을 똑같이 적용 못할 것 같은데 어떻게 하면 좋을 지 조언을 구했습니다. 멘토 분께서 구현해야 할 페이지가 너무 많기 때문에 필요한 것부터 구현하고 디자인은 나중으로 미뤄 구현하지 못할 것 같은 부분은 디자이너와 상의해서 쳐내는 것이 좋다고 하시더라구요. 그래서 정말 3일차부터는 반복되거나 구현해놓은 패턴들을 주로 사용하고 새로운 기능이나 디자인은 모두 제외시켜 버렸어요.
그래서 일단 디자인은 마지막에 하고 정말 필요한 관리자 페이지, 차트 라이브러리 활용해서 차트 보여주기 부터 시작했습니다. 차트를 활용했던 개발 프로젝트가 벌서 2년이 넘어서 오랜만에 라이브러리를 사용하다보니 하나도 모르겠더라구요 ㅠㅠ 그래서 여기서도 시간을 많이 잡아먹었습니다. 도넛 차트 같은 경우에는 Chart.js 라이브러리를, 바 차트나 반원 도넛 차트는 Rechart 라이브러리를 사용했어요. 저는 확실히 Rechart가 저하고 맞는 것 같아요.. 그나마 사용하기 쉬웠습니다 ㅎㅎ
관리자 페이지도 정말 중요한 접수, 승인, 거절과 같은 기능들 먼저 구현하고 퍼블리싱을 진행했고 그래도 여전히 구현해야 할 페이지들이 많다보니 결국 밤을 새게 되며 4일차까지 끊임없이 개발했답니다...
아 그리고 3일차 점심은 고기 국수🍜, 저녁은 흑돼지🥩 였어요 ~


점심 먹은 후 쉬는 시간에는 건물 옥상에 올라가서 예쁜 성산 일출봉 사진도 찍고, 그냥 그런 저도 찍으면서 잠깐의 휴식 시간도 보냈습니다 ㅎㅎ


4일차
아침도 건너 뛰고 밤을 새서 필요한 부분 프론트엔드 개발은 끝났는데 이번에는 미리 다 끝내놨던 백엔드에서 문제들이 터졌어요.. 사용자가 입력한 데이터에 대해서 관리자가 승인을 하면 차트들의 내용이 업데이트가 되어야 하는데 안 되는 문제가 있었습니다 ㅠㅠ
백엔드 개발자 분께서 이것저것 많이 시도해보시는 것 같았는데 결과적으로는 실패했어요..🥲
그래도 화면이 안 보이는 등 이상이 있는 것은 아니였고, 추후 고치면 되는 부분이라 시연 영상을 후딱 찍고 발표 자료들을 제출했답니다.
팜인포 제주 서비스 🧑🏻🌾🥬

드디어 발표 시간!!
기획자이신 병관님께서 발표를 맡으셨고 정말 깔끔하게 발표해주셨어요! 그리고 디자이너이신 예은님께서 발표 자료를 너무너무 잘 만들어주셔서 보기에도 좋았답니다.

심사위원으로는 위니브 대표님, 카카오 대표 이사님 등등 다양한 실무자 분들도 오셨고 좋은 점, 아쉬운 점, 개선할 점 등 다양한 의견들을 말씀해주셨어요. 정말 많은 도움이 되는 피드백이였어요 :)
대망의 결과 발표!!
사실 앞의 다른 팀들이 너무 잘하셔서 우수상(3위)라도 되어라.. 라면서 많은 기도를 했는데 이게 무슨 일!?
저희 팀이 무려 대상(1위)를 하게 됐어요 ㅠㅠ
진짜 무대 앞으로 나가는데 과장이 아니고 눈물이 날 뻔 했습니다.. 손 떨림은 디폴트
저희 서비스를 좋게 봐주셔서 정말 너무너무 감사했고 이러한 자리에서 상을 받는 것만으로도 영광스러웠습니다.


개인적으로 부족하다고 생각하고 코드도 정말 엉망으로 짰던 것 같은데 해커톤이 끝나고도 중복 코드들의 경우 모두 리팩토링하고 성능을 개선하면서 추후 개선점으로 잡은 부분들은 고도화할 예정입니다!
정말 마지막으로 3박 4일 동안 고생한 우리 팀원들, 해커톤을 함께 진행한 다양한 팀들, 또 해커톤을 이끌어주신 운영진 분들, 저희 서비스를 좋게 평가해주신 심사위원 분들께 정말 감사의 말씀드리고 싶습니다🙏🏻
저는 이번 해커톤 경험을 발판 삼아 앞으로 더 발전하고 성장하는 프론트엔드 개발자가 되도록 하겠습니다 !!
그리고 디지랩 챌린지 앞으로도 화이팅입니다 👏🏻🔥