해커톤 개요
팀 구성
팀 구성은 멋사 운영진끼리 얘기를 나누어 고학년들을 최대한 고르게 나눈 것 같다.
팀은 백엔드 2명, 프론트엔드 2명, 풀스택 1명으로 구성되었고, 나는 프론트엔드 역할을 맡았다.
아이디어 및 디자인 회의
팀이 만들어지고, 3일 동안 아이디어를 생각해보는 시간을 가진 후, 디스코드에서 아이디어를 교류했습니다.
하지만 이미 존재하는 서비스들이 많아 차별화된 아이디어를 찾기 어려웠다.
그 당시, 개발 결과물은 웹으로 구현해야 했기 때문에, ( 나중에 앱도 가능하게 추가되었다. )
PWA를 활용해 앱과 유사한 환경을 제공하는 웹 서비스를 만들기로 결정했다.
백엔드는 Spring, 프론트엔드는 React, 디자인은 Figma, 문서화는 Notion을 통해 이루어졌다.
첫번째 아이디어 회의 후에는 팀원들이 각자의 일정으로 인해 모이기 어려웠고,
아이디어나 디자인을 구체적으로 논의하는 데 어려움이 있었다.
그렇게 1주일 정도가 지나갔다...
해커톤이 2주 정도 남았을 때 디스코드로 다시 모여 아이디어를 구체화했고,
각자 어디 기능을 맡아 구현할지도 정했다.
특정 기능마다 api 개발을 맡을 백과 구현을 할 프론트가 나뉘어지게 되었다.
개발 시작
나와 함께한 백이 개인 일정도 있고 특정 오류에 부딪혀서 백과 프론트 연결이 꽤나 늦어졌다.
나는 디자인을 어느정도 한 후 백에게 어떤식으로 DB를 구현할지, api 문서에 대해 작성해 의견을 전달했다.
하지만, 내가 변수명에 대해서 헷갈릴 수 있게 작성을 해놓아서 중간에 소통의 오류가 생겼다.
그래서 하루 날을 잡고 디스코드로 얘기하면서 오류를 잡고 개발을 이어나갔다.
프론트끼리는 공통으로 다뤄야할 회원 정보 상태에 대해서도 얘기를 나누고,
각자 기능을 구현할 페이지에서 css에 관해서도 서로 조언을 구하기도 했다.
각자 기능을 모두 구현하고, 배포된 사이트를 실행해보고 테스트하는 과정을 거쳤다.
몇몇 기능에서 오류가 발생하긴 했지만 금방 고칠 수 있었다.
이런저런 우여곡절을 거치고, 여러 오류와 디자인 등의 수정을 거친 결과,
해커톤 하루 전날 개발을 완료할 수 있었다.
해커톤 시작
양재쪽에 있는 홀을 빌려 진행되었다.
입장 시에 멋쟁이 사자처럼 티셔츠를 나누어주었다.
이벤트처럼 열린 여러 부스도 존재했고,
부스 참여시 다양한 선물을 주었다.
해커톤이 시작되고, 가장 불편했던 점은 홀 내에 와이파이나 핫스팟이 연결이 안되었다.
그래서 인터넷을 사용하려면 홀 밖으로 나가 해야했고,
당연하게 수정할 것이 생긴 우리팀도 홀 밖으로 나가서 개발을 진행해야했다.
그렇게 수정이 끝나고, 발표 자료를 만들고 제출이 끝났다.
제출이 끝난 후, 다양한 이벤트가 진행되고 맥주도 나누어주었다.
그렇게 우리는 본선 결과 발표를 기다렸고, 우리는 본선에 들지 못했다.
본선에 올라간 팀의 발표를 보았는데 확실히 완성도 높은 프로젝트가 많았다.
발표가 끝나고 최종 결과가 나온 후 오전 7시쯤 가량 해커톤이 끝이 났다.
좋은 결과를 얻지 못했어도, 팀 프로젝트를 한 경험에 있어서 만족스러웠다.
끝이 나고, 아쉬웠던 점과 좋았던 점을 정리해보았다.
아쉬웠던 점
- 프론트엔드와 백엔드 간의 소통 부족: 내가 원하는 DB 테이블 형태나 API 요청에 대한 구체적인 요구 사항을 미리 백엔드에게 전달하지 않은 점이 아쉬웠다. 이로 인해 효율이 떨어졌으며, 소규모 프로젝트에서는 이러한 사전 소통이 중요함을 깨달았다.
- 팀원들의 시간 부족: 각자 할애할 수 있는 시간이 달라 개발 완성도가 떨어졌다고 생각한다.
- PWA 완성도 부족: 시간 부족으로 인해 PWA와 관련된 기능들을 모두 구현하지 못했다. 특히, service-worker를 이용하여 수행할 수 있는 푸시 기능에 대해 완성하지 못한 것이 아쉽다.
좋았던 점
- 웹 개발 지식 향상: 여러 프로젝트에서 다뤄보지 않았던 웹 관련 기술들에 대해 알게 되었다. 예를 들어, 프론트엔드 배포(Netlify), 디자인 시스템(Ant Design), PWA 및 service-worker.js 등을 배우는 계기가 되었다.
- 효율적인 개발 방식: 백엔드 API가 완성될 때까지 디자인만 하는 것이 아니라, 데이터를 처리하는 코드를 미리 작성해두면 시간에 덜 쫓긴다는 점을 배웠다.
- 협업 도구의 필요성 인식: Notion을 통해 디자인, 환경 변수, API 관련 내용을 정리하며 협업의 편리함을 느꼈다. 이러한 협업 도구들을 잘 다루는 것도 좋은 능력이라는 것을 알게 되었다.
- 좋은 경험 : 팀 프로젝트는 한 번 밖에 없었던 나로써는, 이렇게 처음부터 끝까지 프로젝트를 진행할 수 있다는 것에서 좋은 경험이 되었고, 이번에 아쉬웠던 점을 통해 더 좋은 방향으로 프로젝트를 진행할 수 있을 것 같다.
'활동 관련' 카테고리의 다른 글
[오픈소스 컨트리뷰션 아카데미] 1차 조별 모임 / 정규 모임 회고 (0) | 2025.04.23 |
---|---|
[오픈소스 컨트리뷰션 아카데미] PR Agent 참여 및 발대식 (0) | 2025.04.21 |
[책 리뷰] 개발자 원칙 (0) | 2025.04.12 |
[오픈소스 컨트리뷰션 아카데미] Git 활용과 Ant Design Korea 체험형 후기 (0) | 2025.01.16 |
[우테코 7기 프리코스] 프론트엔드 프리코스 회고 (1) | 2024.12.27 |