반응형

안녕하세요.

저는 현재 판교에서 데이터 엔지니어로 일하고 있는 개발자1(Beom)입니다. 이번 포스팅에서는 같은 회사에 다니고 있는 동기인 개발자2(Gary)와 약 1년여간 진행했던 토이프로젝트에 대해서 회고해보려고 합니다. 

먼저 간략히 1년간 어떤 토이프로젝트를 진행했는지에 간단히 설명하도록 하겠습니다. 저희가 만든 서비스는 Moobe(무브)라는 서비스로 유튜버들이 다녀간 장소들을 맵(MAP)화 시켜주는 서비스입니다. 먹방 컨텐츠를 보며 한 번씩은 '나도 저기 꼭 가봐야겠다!'라고 생각한적 없으신가요? 그럴때 도움이 될만한 서비스입니다.

백문이불여일견이라고 한 번 직접 보고 오시죠!!!

https://moobe.co.kr/

Moobe (Map of Youtube) - 1년 여간의 토이프로젝트 작업 결과물 (맛집 검색은 무브!)

 

대충 감이 오시나요???

저희가 1년 동안 토이프로젝트로 개발한 무브(Moobe)는 Map of Youtube의 약어이자 Move(움직이다) 와의 비슷한 발음을 통해 '유튜버들이 다녀온 곳으로 이동하다'라는 느낌을 줄 수 있는 중의적 의미를 내포하고 있습니다. 맛집 찾을 때 자주 사용해 주시면 감사하겠습니다😃

그럼 오늘 포스팅을 남기는 본 목적으로 돌아와 1년 동안 개발을 어떻게 진행해왔는지 Moobe서비스는 어떻게 만들어 졌는지에 대해 이야기해보도록 하겠습니다.

때는 바야흐로....2019년 8월 7일...

Moobe의 Si발점😅

동기 몇 명이 모여있는 방에 개리의 위와 같은 발언에서 시작되었습니다. 다른 동료들은 별관심을 보이지 않았지만 이전 토이프로젝트를 한 번 진행해보고 또 다른 토이프로젝트를 물색하고 있던 찰나였기에 '한 번 들어나 볼까?' 하는 마음으로 ✋손을 들어봅니다.  (혹시 개인적으로 진행했던 이전 프로젝트가 궁금하시다면 2018 개발자 Life 회고 참고해주세요_)

 

이렇게 둘의 프로젝트는 시작되었고 '쇠뿔도 단김에 빼라'는 말이 있지 않겠습니까? 개리의 아이디어와 저의 추진력이 합쳐지며 바로 작업에 돌입하게 되었습니다.

아이디어 기획서를 만들었습니다.

Again..사실 개리와의 토이프로젝트는 처음이 아니였습니다. 기존 한 번 시도했었던...........프롲ㅌ 있었습니다. 넘어가겠습니다.

기왕하는거 제대로 하고 싶어 서비스 개발에 대한 기획문서를 작성했습니다. 서비스 기획 배경과 컨셉 그리고 1차 구현 목표들을 PPT로 만들어 보았습니다. 대충대충 하고 싶지 않았습니다. 이 프로젝트는 '진지'했으니까요

이렇게 슬라이드 모아보기로 보니 꽤나 그럴싸하네요?ㅎㅎ

다음에 기회가 되면 처음 시작이되었던 기획 문서와 PPT도 공개해보도록 하겠습니다.

그렇게 저희는 개발스펙을 정하기 시작했습니다. 일단 저와 개리는 현재 막 7년 차에 접어든 개발자로 신입당시에 웹개발 직무로 시작하였습니다. 지금도 물론 웹개발을 하고 있긴하지만 데이터쪽과 오픈소스를 다루고 있습니다. (뭐 크게 궁금하시진 않을테니 넘어갈게요.)

 

1. 토이프로젝트의 목적 (익숙한 기술을 조심하라)

일단 토이프로젝트의 목적 자체가 머릿속의 아이디어를 취미삼아 개발하는데 목적이 있을 수 있습니다. 이러한 경우 익숙한 기술로 빨리 만드는 것도 중요하지만 회사 업무에서 다루지 않는 언어나 프레임워크를 학습하며 적용해보는 것도 큰 도움이 될 수 있습니다.

그래서 프론트(Front)쪽은 처음 Vue.js를 사용해 볼까 하였지만 이미 개리는 Vue.js를 사용하고 있었고 React를 사용하는게 어떻겠냐고 물었습니다. 이에 저는 아주 명쾌히 대답해주었습니다. 

"그래 그럼 너가 리액트로 프론트를 해라^^" 라고  😊

그리고 저는 백엔드(Backend) 쪽을 맡기로 하였습니다. 

초창기 기획 문서 중 일부

정리해보자면

Front : React & Redux + Javascript +Kakao MAP  

Backend : SpirngBoot + Java + JPA + MYSQL + Google Oauth

 

2.  소스코드 관리의 꽃 GIT

타짜 中

저희는 협업을 위한 툴로 Git을 사용하였고 개발하기전 모든 기능 개발에 대한 Issue를 발행하고 각자가 맡은 기능들은 해당 feature에 개발한 후 검토하고 Merge하는 방식으로 진행하였습니다. 개리는 프론트 쪽을 진행하였고 저는 백엔드 쪽을 진행하였기에 각자가 맡은 Feature을 Merge할 때에 크게 충돌이 나거나 하는 문제는 발생하지 않았습니다.  약 1년 동안 84개의 Issue를 등록하였고 그 중 82개가 Closed된 상태입니다.

84개의 Issue 발행

지금에 와서 보니 뿌듯뿌듯🍀하네요...

처리한 Issue 목록 중 일부

이슈를 만들 때 커스텀 라벨(label)도 만들어 사용하였습니다. 해당 이슈가 기존 기능을 보완하는 이슈인지 새로운 기능을 개발하는 이슈인지 라벨만 보고도 알 수 있습니다.

저희는 Git에서 무료로 제공하는 private repo를 사용하고 있습니다.

first commit - 2019년 8.11

위에서 보시다 시피 첫 커밋은 8월 11일⭐️ 입니다.  시간 진짜 빠르다......

 

3. 악당(마음속 악당)이 너무 많다.

타짜 中

프로젝트를 1달도 아니고 2달도 아니고 6달도 아니고 1년😱 동안 진행하다 보니 서로가 손을 놓고 지냈던 적도 있었습니다. 그 이유야 다양하겠지만 사실 저의 경우는 귀찮음이 제일 컸습니다...아니 회사 일도 하고 운동도 해야되고 개인 공부도 하고 포스팅도 해야하는데 프로젝트까지 해야한다고 생각하니 가끔은 가슴이 너무 먹먹했습니다....너무 해야할게 많다보니 빨리 빨리 움직여서 하면 좋으련만.....그 반대였습니다...그냥 회사 일 끝나면 그냥 쉬고 싶은건 저뿐만이 아니겠죠...? 물론 개리도 저와 같은 생각과 감정을 겪었을 것이라고 생각합니다. 그렇게 저희는 서로가 두 세 달을 별다른 진척없이 보내기도 하였습니다.

하지만 함께 꾸는 명확한 목표가 있었기에 서로가 서로를 일으켜 세워주곤 하였습니다. 매주 한 번씩은 만나 서로 개발하기로 했던 기능들에 대해 리뷰하는 시간을 가지려 노력했고 한 주 마다 스스로가 해야할 기능에 대한 목표를 설정하였습니다. 

지금에와서 드는 생각은 이건 분명히 혼자 진행했다면 중간에 때려치고도 남았을 것이라는 겁니다ㅎㅎ 유독 한 문구가 떠오르네요  '멀리가려면 함께 가라' 

해뜨는 줄 모르고 개발하던 날

마치며

쓰다보니 길이 너무 길어질 것 같아 이번 포스팅은 여기서 마무리 해보려고 합니다.

1년 길다면 길고 짧다면 짧은 시간 동안 (짧지는 않았음...) 같이 개발하며 귀찮아서 손을 놓고 싶었던 적도 있었습니다. 하지만 그럼에도 여기까지 올 수 있었던 데에는 같은 곳을 바라보며 함께 해주는 동료가 있었기 때문이라고 생각합니다.

함께 토이프로젝트를 시작했을 때 1차 목표에 이르기 까지 1년이라는 시간이 걸렸습니다. 빠르진 않았지만 완성도 있는 서비스를 만드는데 집중하였습니다. 이제부터가 진짜 시작이라고 생각합니다. 아직 많이 부족한 시스템이지만 이 글을 보시는 분들께서 방문해주시고 피드백 주신다면 앞으로 서비스가 커나가는데 정말 많은 힘이 될 것 같습니다. 

 2편에서는 시스템을 개발하면서 겪었던 이슈들에 대해서 다뤄 보도록 하겠습니다.

긴 글 읽어주셔서 감사합니다.🙏

반응형

+ Recent posts