티스토리 뷰

반응형

뒤늦게 쓰는 2021년 1월부터 3월 초까지 진행된 데굴데굴 앱 리뉴얼 개발 참여 후기

데굴데굴이 뭔데?

https://www.deguldegul.com/

 

캠퍼스 단위 배달앱 | 데굴데굴

캠퍼스 단위 배달앱 데굴데굴 배달의 일상화를 도입하다. No Delivery, It’s Dailivery !

www.deguldegul.com

데굴데굴은 캠퍼스 단위 배달 어플리케이션으로, 학생들끼리 음료나 식사 등을 대신 사다주고 배달비를 받는 서비스이다. 현재는 이화여대 학생들만을 대상으로 제공되고 있다. 대체로 정문에서 먼 곳에 전공 건물이 위치하거나 기숙사에 사는 학생들이 주로 사용하는 것으로 알고 있다. 올해 3월부터 6월까지는 학교 근처 식당들과 컨택하여 데굴데굴 앱으로 주문했을 경우 할인을 해주는 이벤트를 진행하기도 했다.

 

참여 계기

나는 작년 12월 말까지 1년에 걸쳐 진행된 졸업프로젝트를 마무리하고 학기를 마치느라 정신없이 2020년을 마무리하고 종강 후 어떤 활동을 할 지 계획이 없던 상태였다. 그러던 중 과 단체 채팅방에 데굴데굴 팀에서 개발자를 구한다는 내용의 글이 올라왔다. 그런데 데굴데굴은 리액트 네이티브로 개발되고 있었고 나는 안드로이드 네이티브 앱만 개발해왔기 때문에 지원을 할지 말지 고민을 많이 했다. 지금까지 프론트엔드, 백엔드 등 다른 분야로 프로젝트를 진행한 경험도 있기 때문에 새로운 프레임워크를 이용해야 하는 개발 과정이 걱정되기보다는 그 시간에 안드로이드 개발 공부를 더 해야 하는 것 아닌가 하는 생각이 든 것이다. 하지만 출시 당시부터 관심을 가지고 있던 서비스였기 때문에 직접 개발해보고 싶기도 하고, ios와 안드로이드를 모두 지원하는 리액트 네이티브를 경험해보는 것도 재미있을 것 같았을 뿐만 아니라 무엇보다 협업에 목말라 있었던 나는 지원을 하기로 결정했다.

 

나의 역할

지원서류를 제출하고 면접을 통과한 후 올해 1월부터 3월 초까지 데굴데굴 팀에 합류하여 앱 리뉴얼에 참여했다. 기존에 개발자 2명이 앱 개발을 담당하고 있었는데 그 중 한명인 팀 대표가 위에서 말한 할인 이벤트를 위해 계약서 작성, 소개 웹페이지 개설 등을 해야 했고 계약서 작성을 하기 위해 변호사도 만나고 식당 사장님들과도 컨택하는 등의 다양한 일들을 해야 했기 때문에 개발팀에서 빠지고 나와 함께 새롭게 영입된 개발자를 포함하여 총 3명이 개발을 담당하게 되었다.

 

1) QA

우선 프로젝트 합류 초기에는 와이어프레임 정도만 나온 상태였기 때문에 바로 새로운 개발을 시작할 수 없었고 우선 깃허브에 있던 기존 코드를 클론해온 후 기본 세팅을 하고 QA를 진행했다. 이 과정에서 특히 안드로이드 앱에서만 발생하는 문제들을 많이 발견하게 되었는데, 이 부분은 기존 개발자들이 안드로이드 테스트를 꼼꼼히 하지 않아서 생기는 문제이기도 했다. 개발자들이 전부 아이폰을 사용해서 안드로이드의 하단 네비게이션 바에 있는 뒤로가기 버튼을 눌렀을 때 발생하는 상황들을 전혀 생각하지 못한 것이다.

 

2) 거래하기 탭 & 라이더 ON/OFF 기능 개발

앱이 리뉴얼 되면서 추가되는 기능들은 크게 3가지로, 1) 라이더 ON/OFF 기능, 2) 상점에서 주문 시 사용되는 자판기 기능, 3) 상점에서 데굴데굴로 주문했음을 확인하는 QR 확인 기능이었다. 나는 그 중 라이더 ON/OFF 기능 개발을 맡았고, 리뉴얼 되면서 전반적인 탭 화면들이 전부 변경되었기 때문에 거래하기 탭 개발 또한 담당했다. (개인적으로 리뉴얼 전 올라온 주문서들을 지도에 표시해주는 화면을 좋아했는데 없어져서 아쉬웠다.)

 

라이더 ON/OFF 기능은 기존에 현재 배달해 줄 수 있는 라이더가 있는지 모르기 때문에 주문을 올리기 망설여진다는 문제점을 보완하고자 새롭게 추가된 기능이다. 라이더로 활동하고자 하는 사용자는 본인이 활동 가능한 경로와 활동가능 시간을 설정하면 라이더 상태가 ON으로 변경되며 설정한 활동가능시간이 지나면 자동으로 OFF 상태로 변경된다.

 

거래하기 탭

 

ON 상태로 변경된 라이더는 거래하기 탭의 '현재 거래 가능한 배달자'에 프로필이 추가되게 된다. 주문을 하려는 사용자는 리스트에 표시된 라이더 프로필을 눌러 해당 라이더의 활동가능 경로와 활동가능시간을 확인하고 원하는 경우 라이더에게 배달을 요청한다는 알림을 보낼 수 있다.

 

라이더 화면

 

프로젝트를 진행하며 어려웠던 점

1) 환경설정

다른 사람이 개발하던 코드를 이어받아 개발하는게 처음이어서 프로젝트를 시작할 때는 많은 어려움이 있었다. 특히 기존 코드를 깃허브에서 clone해오고 첫 실행을 하기까지가 가장 힘든 과정이었다. 필요한 라이브러리들을 다 새로 설치해야 했고 라이브러리 설치 후 왜인지는 모르겠으나 androidx 코드로 업데이트해주는 과정이 필요했다. 여기에만 며칠을 투자하면서 '아 그냥 빨리 코드 짜고싶다...' 라는 생각을 많이 했다.

 

2) 리액트 네이티브

환경설정이 다 끝난 다음에는 나름 순조롭게 진행됐다. 하지만 리액트 네이티브 앱을 처음 개발해보는 거라 리액트 네이티브 설치부터 개발방법까지 새로 다 배워야 했다. 처음에는 컴포넌트 개념도 잘 이해가 안된 상태였고 네비게이터 사용에도 많은 시행착오를 겪었다. 렌더링 부분도 기존 코드를 살펴보고 구글링도 하면서 공부해야 했다.

 

리액트 네이티브 앱을 개발하면서 또 불편했던 점은 리액트 네이티브가 ios와 안드로이드에서 다르게 적용되는 경우가 많다는 것이다. ios에서는 적용이 되지만 안드로이드에서는 적용이 되지 않는 경우가 많았고, os에 따라 다르게 코드를 작성해줘야 하는 경우가 많았다.

 

3) 코드 버전 관리

지금까지 프로젝트를 진행할 때 다른 안드로이드 개발자들과 협업한 경우는 나 포함 두 명이 최대였다. 그런데 이번에는 고정적으로 앱 개발을 전담하는 개발자 3명과 동적으로 참여하는 개발자 1명까지 총 4명이 한 프로젝트 코드를 관리하려고 하니 많은 어려움이 있었다. 각자 브랜치를 분리해서 각자 맡은 부분을 개발하고 중간중간 deploy 브랜치에 pr을 보내 머지하도록 했는데 충돌이 일어나는 경우가 많았다. 그래서 최대한 자신이 맡은 부분만 만지도록 노력했다.

 

느낀점

프로젝트를 진행하면서 서로 부족한 부분을 보완해줄 수 있다는 점에서 협업의 장점을 느낄 수 있었다. 오랜만에 디자이너와 함께 협업하는 것도 너무 즐거웠다. 작년 하반기에 졸업프로젝트를 진행할 때는 디자이너가 없기 때문에 앱 디자인까지 내가 담당해야 했는데 디자이너와 함께하니 화면 개발도 빨리 진행될 수 있었다.

 

그리고 혼자 프로젝트를 진행할 때보다 크게 성장할 수 있음을 느꼈다. 서로 알고 있는 정보들(커밋 메시지 규칙, 깃모지 등)을 교환하면서 개발을 좀 더 편리하게 할 수 있었고, 이 프로젝트에서 처음으로 pr을 통한 코드리뷰를 경험해봤는데 코드리뷰를 통해 생각하지 못했던 오류들을 미리 찾아낼 뿐만 아니라 다른 사람들이 맡은 부분까지 꼼꼼히 확인하게 되면서 프로젝트 전체에 더 큰 책임감을 가지고 진행할 수 있었다.

 

마지막으로 프로젝트 진행하며 가장 아쉬웠던 점은 코로나로 인해 개발팀을 제외한 팀원들은 온라인으로밖에 만나지 못했다는 것이다. 길가다 마주쳐도 못알아볼 것 같다. ^^...

 

마무리

현재는 리뉴얼 이후 팀에서 나왔지만 데굴데굴이 커뮤니티에서 언급될 때마다 너무나 반갑고 뿌듯하다. 팀에 속해 있을 때에는 할인 이벤트를 계약한 상점이 두 곳이었는데 이벤트를 종료할 때는 총 여섯 상점까지 추가되었고, 인스타를 통해 팔로워 이벤트, 굿즈 이벤트 등 다양한 이벤트들을 계속해서 진행하고 있다. 이런 것들을 볼 때마다 보이지 않는 곳에서 노력하고 있을 팀원들이 생각나서 더욱 잘 됐으면 좋겠고 이화여대뿐만 아니라 다른 캠퍼스들에서도 사용할 정도로 널리 쓰이는 앱이 되길 바란다. 데굴데굴 화이팅 (・ัᗜ・ั)و

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함