더 많은 포스팅 보기 자세히보기

회고

펫션 : 반려동물(pet) + 패션(fashion)을 합성한 반려동물 의류 쇼핑 서비스 [2021년 4월 - 2021년 11월(6개월)] 회고

유도혁 2021. 12. 21. 00:47

 

🖼 프리뷰

펫션은 반려동물(pet) + 패션(fashion)의 합성어로 기존의 애니멀 패션숍들과 다르게 AR 기술을 활용하여 나의 애완동물에게 어울리는 옷을 찾아 패션 애니멀을 만들어 줄 수 있는 서비스로 2021 Smarteen App Challenge 개발 분야에서 '우수상'을 수상하였다.

 

📃 맡은 역할

팀 빌딩 - 인맥이 많지 않은지라 대부분은 동아리 내에서 모집하였고, 한 명은 쌩판 초면에 "너 디자인 할줄알아? 우리 팀에 들어와!"를 시전 하며 초기에 팀원을 모았다.

 

초기 기획 - 펫션의 시작, 팀원들과 아이스브레이킹을 하며 여러 기획들을 모으던 중 반려동물 쇼핑몰에 AR을 사용해보자는 아이디어를 처음 내어 모두가 찬성하여 진행하게 되었다.

 

앱 개발 - (3학년은 기획으로 참가라는 선배의 조언을 무시하고) 펫션 클라이언트 개발을 담당하였다.

 

소통 및 중재 - 프로젝트를 진행하며 발생하는 팀원들 간의 불화를 줄이고, 타협점을 찾는 데 도움을 주었다.

 

⚔️ 아쉬운 점

AR못함 - AR 없는 AR 서비스..., 어떻게든 될 거야~ 프로젝트 기획 때 생각했던 일인데 개발을 진행하는 시기가 오고 React Native로 개발을 하는데 네이티브 지식이 부족했던 탓일지 유니티와 VERO AR을 사용해보았지만, 결국 원하는 결과물을 내진 못 했다.

 

클린 코드 & 최적화 - 대회나 짧은 기간에 개발할 때는 그리 중요하지 않다는 사람들도 있지만, Prettier을 제외한 네이밍 규칙, 디자인 패턴을 지키지 못하며 개발한 점은 후회스럽다. 

 

PPT사건 - 본선 발표에서는 앱의 경쟁력과 여러 지표, 디자인을 보여주는 발표를 통해 결선 진출 여부가 결정되게 되는데 개발도 못 해보고 끝나버릴 수 있었던 적이 있다. 기획과 디자인을 맡은 후배에게 PPT 제작을 맡기고 오랜 시간 후 결과물을 봤을 때  너무 형편없었다. 당시 구직활동으로 인해 정신이 반쯤 없이 살고 있던 시점에서 이것도 알려주고 저것도 알려주면, 어디까지 도와줘야 하는가에 대한 고민을 했던 것 같다. 거의 그냥 팀 붕괴까지 갔었으나, 이왕 시작한 일 열심히 해보자며, 3일간 다시 만들어서 겨우 통과할 수 있었다. 대회에 참가를 결정한 친구들이면, 당연히 영차영차 1인분 이상의 역할을 하며 노력할 줄만 알았던 내가 바보스럽다. 이때 혼자 하는 조별 과제가 떠올랐는데 아직 나에게는 팀원들을 격려할 기술이 없음을 느꼈고 필요성을 크게 느꼈으며 이 방법을 찾아보려고 한다. 

 

완벽주의와 완성도 - 완벽주의는 상황에 따라 평가가 갈리는 데 좋게 작용하면 장인정신이 되고, 나쁘게 작용하면 완벽주의와는 관계없어 보이는 미완성이 되고 만다. 사소한 이슈 때문에 2일을 소비한 적이 있는데 이게 반복되다 보니 이보다 중요한 것을 놓치고 만 것 같다. 이러한 경험을 예전부터 해본 거 같은데 상황에 따라 어느정도 마무리 할 수 있도록 해야겠다고 느꼈다.

 

미룸 신 강림 - 대부분의 문제는 사실 일을 미루는 것에서 시작되었다. 시키는 사람이 없는 상황에서 직접 무언가를 한다는 것이 어려웠다. 태스크를 1주 단위로 크게 잡았는데 7일째 되는 날에 몰아서 하며 시간을 허비하였다. 작은 단위로 정하고 관리하는 체계를 갖췄으면 좋았을 거 같다.

📈 좋았던 점

어쨌든 우수상 - 부족한 점이 많았지만 AR대신 카메라 위 옷 사진을 띄운다던가 하며 보여줄 수 있을 만큼은 되었는지, 상까지 받을 수 있었다!

 

로그인 방식 - 앱의 저장 방식에는 async-storage에 토큰을 저장하는 방식을 말고는 생각나지 않아 이 방식으로 하자고 백엔드 친구와 그렇게 하기로 했다. 그런데 백엔드 완성 후 보니 웹의 세션 방식으로 개발을 해왔다. 개발했을 때는 웹에서 개발하니 문제없다고 생각한 거 같다. 서로 알고 있는 게 다르다 보니 생긴 문제였다. 덕분에 서로가 알고 있는 것을 공유하며 협업을 하였고, jwt를 보내주는 것으로 마무리되며 많이 배울 수 있었다.

 

상태 관리 - 즐겨찾기, 필터 기능을 구현하기 위해 상태 관리방법을 선택하는 것은 필연적이었다. Context, Recoil, Redux 중 선택해야 했는데 Recoil은 RN에서 사용하기에 어려웠고, Context를 사용하는 것보다 Redux Store가 상황상 좋다고 판단하여 Redux Toolkit으로 쉽게 환경을 구성할 수 있었다. 덕분에 리덕스의 사용법과 흐름을 배울 수 있어서 좋았다.

📌 마지막으로

"아무것도 하지 않으면, 아무것도 변하지 않는다"

flex의 소비 패턴이 탄생한 이유는 젊은 세대들이 평생 돈을 모아도 부자가 되지 못한다는 생각 때문에 목표를 포기해서 생긴 것이라 전문가들이 하는 말을 들었다. 그러한 이유라면 세상의 모든 부자들은 탄생할 수 없다. 앞으로도 아무리 형편없는 기획과 실력일지라도 여러 도전을 해볼 것이다.