이번에 활동하고있는 멋사10기 대구경북권 대학교 주관으로 총 4개의 학교 멋사팀이 한데모여 금요일 19시 - 토요일 10시 까지 15시간 진행되었다.
작년에는 코로나로 인해서 비대면으로 진행했었는데, 그래서 그런지 별로 기억에 안남았던것 같다.
체감상은 이번이 나의 첫 해커톤 대회였다.
아이디어는 해커톤 2주전에 구성된 팀원들끼리 일주일 동안 정기적으로 회의를 거치면서 준비해두었다.
소모임을 도모하는 웹앱이었는데, 근례 든 생각이 왜 클럽이나, 술집 등 컨텐츠가 똑같은데 매번사람이 모이는 것의 이유는 뭘까? 라는 생각을 했었다. 나의 결론은 본능이라고 결론지었다. 결국 사람을 사람을 원하는 본질을 이해하고 나니 다른컨텐츠가 문제가 아니었다.
그냥 사람이 사람을 만날 수 있도록 연결해주는 다리만 놓아주면 된다고 생각했고, 그게 소모임이었다.
기존앱은 한번 가입하면 정기적으로 나가야하는 부담감이 있는것으로 생각했다. 그래서 가볍게 일회성으로 모임을 주선하도록 해서 원할때만 원하는 모임에 참가하는 "가만추" 를 탄생시켰다. "가벼운 만남을 추구한다"
짧은시간에 MVP를 내는것과 같았기 때문에, 서버를 따로 준비할 시간은 부족하다고 판단하여, 총 4명의 인원이 모두 리액트와 파이어베이스를 사용해서 회원가입,로그인,모임참가, 모임별채팅, 프로필사진, 모임게시글작성, 이미지업로드, 모바일UI(하단,상단탭바) 를 개발했다.
팀원들의 리액트 이해도가 낮았고, 한명은 javascript도 많이 어려워했기 때문에, 그에맞는 역할을 배정하여 각자 UI컴포넌트개발과 컴포넌트별 필요한 state, callback function 만 세팅해두도록 역할을 분배했다.
나는 전체 폴더구조와 레이아웃, firebase로직, 공용컴포넌트 및 hook 을 만들었다.
효율적으로 하기위해서 속성으로 40분동안 gitflow전략을 알려주고 작업을 시작헀다.
3명 모두 gitflow전략은 처음이었고, git과 github의 사용도 단순 업로드이외에는 없었기 때문에,당장 협업에 필요한 branch생성,삭제, PR요청, commimt 컨벤션 을 알려주었는데, 예상외로 너무 잘해주어서 협업이 정말 수월했다.
이번에 중점은 아무리 급하더라도 두번이상 사용될 우려가 있는 로직은 반드시 재사용가능하도록 hook과 컴포넌트, util, service 등의 폴더 로 구분하고, 또 파일별로 구분하는 것이었고, 개발속도는 처음에 더뎠지만 해커톤을 마무리해야할 때쯤에 빛을 바랬다.
마지막 채팅구현을 할때쯤에는 doc, collection 을 여기저기 끌어와서 사용했어야했는데, 앞전에 간단한 호출한번에도 단일책임원칙을 지켜 재사용성을 높여놔서, 금방 구현할 수 있었다.
이번에 다시한번 하나의 함수는 하나의 기능을 할때 사이드이펙트도 줄이고 재사용성도 높일 수 있다는 것을 느꼈다.
GitHub - gamanchu/client: 가벼운 만남을 추구한다! 가만추
가벼운 만남을 추구한다! 가만추. Contribute to gamanchu/client development by creating an account on GitHub.
github.com
'Archive' 카테고리의 다른 글
React와 node로 알아보는 내가 겪었던 필수 웹 지식 - CORS, Cookie, Post요청, headers, file전송 (0) | 2022.07.30 |
---|---|
TS 냐금냐금 - 3 (0) | 2022.07.29 |
TS 냐금냐금 - 2 (0) | 2022.07.25 |
TS 냐금냐금 - 1 (0) | 2022.07.25 |
CRA없이 React Typescript 환경세팅하기 [2] - webpack-dev-server (0) | 2022.07.18 |