투투(twotoo) - 커플 챌린지 출시 후기 | 퀘스트에 참여하세요

투투(twotoo) - 커플 챌린지 출시 후기
프로젝트 회고

투투(twotoo) - 커플 챌린지 출시 후기

#투투 #커플챌린지 #22일 #twotwo #매일인증 #꽃키우기 #공동의목표달성 #너와내가함께성장 #콕찌르기 #히스토리확인

작성일 : 23.12.22 17:22

0

0

0

👉 본문을 50%이상을 읽으면 '여기까지다' 퀘스트가 완료됩니다(로그인 필수)

제품명

투투

개발기간

-

너와 내가 함께 성장하는 과정, TwoToo TwoToo는 연인과 함께하는 챌린지, 기록 앱입니다. 새로운 행동이 습관화되는데 최소 21일이 걸린다고 합니다. TwoToo는 최소한의 목표 달성 기간 22일을 기준으로 챌린지를 생성할 수 있습니다. 💘연인과 함께할 챌린지 생성해보세요. - 짝꿍과 함께 구체적인 룰, 벌칙 등을 함께 작성해 재밌는 챌린지를 만들어 보세요. - 챌린지를 생성할 때 서로에게 주고 싶은 꽃의 씨앗을 같이 보내요. - 각자 서로에게 받은 꽃을 키우면서 챌린지를 종료했을 때 무슨 꽃인지 확인할 수 있어요. 💘매일 서로 인증하고 기록을 남겨보세요. - 챌린지 기간동안 하루에 한 번 인증하기를 통해 꽃에 물을 줄 수 있어요. 💘연인에게 콕 찌르기로 알림을 보내보세요. - 짝꿍이 인증을 안했다면 ‘콕 찌르기’를 통해 알림을 보내보세요. 💘서로 인증을 완료하고 연인에게 칭찬 문구를 남겨보세요. - 짝꿍과 내가 모두 인증에 성공하면 서로의 인증에 칭찬을 남길 수 있어요.

개발 회고

😀 자신과 팀소개를 부탁드립니다.

안녕하세요 투투(twotoo) - 커플 챌린지를 운영중인 ‘아싸홍삼’ 입니다.

저희는 Mash-up이라는 IT동아리에서 만들어진 팀으로 디자인 2명, Android 3명 ,iOS 3명, Node 3명으로 총 11명으로 구성되어있습니다

🤗 프로덕트 소개좀 해주세요~

투투(twotoo)는 22일간 성장 과정을 기록하고, 공동의 목표를 달성할 수 있는 커플 챌린지 앱입니다.

함께 꽃을 기르는 과정을 통해 즐겁고 재밌는 챌린지를 경험할 수 있습니다.

서로에게 선물하고 싶은 꽃을 고르고 22일간 매일 인증을 통해 꽃을 함께 키워나갈 수 있습니다.

Android 다운로드: https://play.google.com/store/apps/details?id=com.mashup.twotoo

iOS 다운로드: https://apps.apple.com/kr/app/투투-twotoo-커플-챌린지/id6455260918

website: https://twotoo-landing.vercel.app/

💘연인과 함께할 22일 챌린지 만들 수 있어요

짝꿍과 함께 구체적인 룰, 벌칙 등을 함께 작성해 재밌는 챌린지를 만들어 보세요.

챌린지를 생성할 때 서로에게 주고 싶은 꽃의 씨앗을 같이 보내요.

각자 서로에게 받은 꽃을 키우면서 챌린지를 종료했을 때 무슨 꽃인지 확인할 수 있어요.

💘매일 서로 인증하고 기록을 남길 수 있어요

챌린지 기간동안 하루에 한 번 인증하기를 통해 꽃에 물을 줄 수 있어요.

💘연인에게 콕 찌르기로 알림을 보낼 수 있어요

짝꿍이 인증을 안했다면 ‘콕 찌르기’를 통해 알림을 보내보세요.

💘서로 인증을 완료하고 연인에게 칭찬 문구를 남길 수 있어요.

짝꿍과 내가 모두 인증에 성공하면 서로의 인증에 칭찬을 남길 수 있어요.

⁉ 프로덕트를 만들게 된 계기는 무엇인가요?

연인과 함께 목표를 계획하고 실천하면 혼자 하는 것보다 조금 더 동기부여를 얻을 수 있을 것 같다고 생각했습니다.

그러나 많은 연인들은 함께 원하는 목표를 세우지만 계획하고 목표를 실천해 나가면서 어렵거나 힘들었던 경험 또한 많았습니다.

이러한 문제들을 해결하고 연인과 함께 목표 달성 챌린지를 할 수 있는 서비스를 만들고자 하였습니다.

서로에게 지속적인 동기부여를 제공합니다.

인증을 통해, 식물을 성장 시키며 재밌고 꾸준하게 달성할 수 있도록 도움

달성 단계별 꽃 성장을 보여줘, 보람 및 재미 요소를 제공

상대방과 상호작용을 통해 보상과 격려를 줄 수 있습니다.

찌르고 칭찬하며 상대방이 인증을 할 수 있도록 격려

성취도를 시각적인 데이터로 확인할 수 있습니다.

성취도를 시각화 하여 뿌듯함을 느끼면서 지속할 수 있도록 달성 현황과 히스토리 제공

🤝 팀원분들은 어떻게 만나셨나요?

동아리 활동을 통해 자연스럽게 팀원으로 만나게 되었습니다.

iOS / Android로 구성되어있어 플랫폼 제약없이 기획을 할 수 있어서 좋았습니다.

한 팀에 인원이 많은 편이지만 의견 차이 없이 열심히 함께 하고 있습니다.

😱 개발은 어떻게 진행이 됬나요?

서버 node 팀

서버는 NestJS + TypeScript로 구현되어있으며 3명의 개발자가 함께 하고 있습니다.

새로운 프레임 워크인 NestJS를 사용해보면서 새로운 기술에 대해 접근을 해보고 기존 프레임 워크들과 차이점을 알아가면서 각각의 강점과 단점을 알아갈 수 있었습니다.

모두들 앱과 개발을 해보는게 처음이어서 기존의 웹과 협업할 때와는 다른 방향성을 두고 개발을 진행했습니다.

앱은 배포가 웹처럼 쉽지는 않다는 점을 고려해서 중요한 로직과 변동성이 있을 만한 로직들은 서버에 두고 서버를 재배포 하는 방식으로 진행했습니다.

이번에 NestJs를 사용하면서 배포를 했어야했는데 lambda와 ECR중에서 고민을 하다가 cold start문제가 없는 ECR을 통해

서버 도커이미지를 올리고 EC2에서 해당 도커이미지를 불러와 실행하는 방식을 사용했습니다.

진행하면서 가장 어려웠던 부분은 time 문제 였습니다.

저희는 22일 동안과 하루에 한 번이라는 조건을 가지고 있어서 시간이 중요한 역할을 했습니다.

mongodb를 사용하면서 UTC에 맞게 설정되어있는 시간을 이용하려고 하다보니 앱단과 서버단 모두 한국 시간보다 9시간 느리게 설정해야하는 부분이 어려웠습니다.

논의를 통해 하루의 시작은 하루의 시간을 15:00 ~ 09:00 이라고 잡고 로직을 개발하면서 해결을 했습니다.

재미있었던 부분은 mongodb를 이용하면서 Atlas chart를 이용해 dashboard를 만들어 데이터를 서버 개발자 이외에도

다른 멤버들이 직관적으로 확인 할 수 있게했던 작업이었습니다.

iOS 팀

Clean Swift 아키텍쳐를 사용하여 변경에 용이하고 어떠한 서비스에도 적합하도록 설계했습니다.

SPM 모듈화를 통해 각 기능별 의존관계를 확인했으며 예측가능한 프로그래밍을 할 수 있었습니다.

이렇게 의존관계를 파악하기 위해서는 깊은 도메인 지식이 필요했으므로 좀 더 이 서비스에 대해 자세히 파악할 수 있었습니다.

유저 스토리 작성을 통해 기획에 대해 구체적인 정책을 정했습니다.

보통 화면기반으로 개발부터 시작하는 경우가 많은데 이렇게 유저 스토리를 작성하니 큰 그림을 볼 수 있었고 이는 BDD 설계서에 큰 도움을 주었습니다.

기능단위 BDD 설계서테스트 코드를 통해 엣지케이스를 초기 발견할 수 있었으며 지속적인 기획변경에 대응할 수 있도록 했습니다.

유저 행동기반으로 문서를 작성하니 유저 입장에서 어떤 행동을 할 수 있는지 정의내릴 수 있었으며 그에 따른 필수 값이 무엇인지, 화면단위 필요한 값이 어떤 것인지 미리 알 수 있었습니다.

이 문서 기반으로 테스트 코드로 작성하니 더 완벽해졌습니다.

유저 스토리

BDD 설계서

화면 매핑 엔티티 설계

현재에는 CleanSwift + SwiftUI로 리팩토링 하려고 구상중입니다🧐

Android 팀

1. 리뷰문화

안드로이드 팀은 모두가 리뷰를 해야지 merge를 할 수 있도록 했습니다. 그래서 서로의 코드 이해도가 높아져서 본인이 개발한 부분이 아니더라도 모두 함께 고쳐나갈 수 있었습니다.  또한 팀원들의 경험을 공유하여 더 좋은 코드를 만들며 함께 성장할 수 있었습니다.

  • 2. 칭찬 / 질문 문화

  • 안드로이드 팀은 리뷰 하나하나에 칭찬을 하도록 했습니다. 기분 좋게 서로 마음에 상처를 받지 않으며 개발할 수 있었습니다.

    또한 모르는 것은 항상 질문하고 서로 친절하게 알려주도록 룰을 정했습니다.

  • 질문을 하는 팀원도 답변을 주는 팀원도 이슈 해결 법을 주고 받는 과정에서 서로 깊은 이해를 하게 되며 성장할 수 있었습니다.

  • 3. Scrum 문화

    안드로이드 팀은 일주일에 한 번 본인이 완성해야 할 기능을 이슈로 등록하여 일주일 안에 반드시 완성하는 것을 목표로 개발을 진행했습니다.

  • 매주 한 번 Scrum 회의를 통해 완성된 기능을 정리하고 다음 목표를 설정했습니다.

  • 이를 통해 짧은 일정에 헤메지 않고 형상 관리를 잘 할 수 있었습니다.

    4. 트랜드 개발 문화

    안드로이드 팀은 신기술에 목말랐어요. 평소에 회사에서 사용하지 못한 라이브러리나 디자인 패턴을 적용해보았습니다.

  • 이를 통해 현재 안드로이드 개발 트랜드를 놓치지 않는 개발자로 성장한 것 같아요.

  • 성장한 점

  • 개발자로서 직접 기획에 참여하면서 코드를 한 줄 한 줄 작성할 때  한번 더 사용성을 생각하게 되었습니다.

    사용자들이 어떻게 서비스를 활용할지를 고려하면서 코드를 작성하니, 그 결과물이 사용자들에게 훨씬 더 친숙하고 편리한 형태로 나타났던 것 같습니다.

    특히, 안드로이드팀에서는 이번 프로젝트에서 새로운 기술을 과감히 도입했습니다.

  • 그 과정에서 팀원들과 지식을 나누고 함께 공부하면서 새로운 도전에 대한 두려움을 떨쳐낼 수 있었습니다.

  • 서로의 경험을 공유하며 성장하고, 새로운 기술을 익히는 것이 정말 뿌듯했습니다.

  • 유저 수가 늘어남에 따라 좋은 서비스를 제공하기 위해 최소한의 버그와 안정성을 신경쓰게 되었습니다. 

  • 늘어나는 유저들을 보면서 사용자 경험을 더 향상시키기 위해 노력하고 있고, 이러한 노력들은 더 나은 서비스로 이어질 것이라고 믿습니다!

👍 재미있었던 것은 무엇이었나요?

처음 서비스 주제를 정하고 구체화 하는 과정에서 가장 큰 재미를 느꼈던것같습니다.

저희는 모든 팀원이 기획에 참여하여 서비스를 만들었습니다.

그 과정에서 각자가 생각하는 wireframe을 그려 모두가 동의하는 서비스의 큰 방향성을 정했고 세부적인 내용들을 만들어갔습니다.

많은 아이디어들이 나와 MVP를 정하는 과정이 힘들었지만 결론적으로 핵심기능만을 담아 1차 배포를 성공적으로 할 수 있었습니다.

그 과정에서 우선 순위를 정하는 방법을 배울 수 있었고 출시 이후에도 유저 피드백을 바탕으로 우선적으로 필요한 기능 위주로 개발하여 반영하고 있습니다.

👎 아쉽거나 어려웠던 점은 무엇이었나요?

서비스 초기 단계이다 보니까 유저의 수가 적어 유의미한 데이터를 보기 어려운 환경이었습니다.

현재로서 Retention 보다 Referral에 초점을 맞춰 마케팅을 하고 공유할 수 있도록 추가적인 기능을 제작하고 있습니다.

사용자가 공유하고 추천하고 싶은 서비스를 만들고 지속적인 유저 수 증가를 목표하고 있습니다.

💯 앞으로의 계획을 알려주세요

지속적으로 유저 수를 늘리기위해 SNS 마케팅을 할 예정입니다.

또한 유저의 반응과 피드백을 통해 사용성 개선과 신규 기능 업데이트를 계획중입니다.

앞으로 더 재미있고 유용하게 사용할 수 있는 서비스를 만들기 위해 노력할것입니다 :)

투투 인스타그램 : https://www.instagram.com/twotoo.22/

투투 Twotoo 홈페이지: https://twotoo-landing.vercel.app/

개발팀 정보

아싸홍삼