Skip to content

큐시즘 28기 밋업데이 - 유기견 이동봉사 매칭 플랫폼, ConnectDog🐾

Notifications You must be signed in to change notification settings

PawWithU/ConnectDog-Server

Repository files navigation

🐕 ConnectDog, 코넥독

유기견의 새로운 삶을 연결해주는 이동봉사 매칭 플랫폼, ConnectDog

국내 연간 전국 유기견 발생 수 약 10만 마리. 유기견 구조 및 입양 과정에서 국내외 입양, 보호소 및 병원 이동 등을 이유로 국내외 장거리를 이동해야 하는 경우가 많습니다. 하지만 이에 비해 이동봉사 중개자와 이동봉사자의 숫자는 턱없이 부족한 상태입니다.

코넥독(ConnectDog)은 이동봉사 신청 및 진행 과정에서 이동봉사 중개자와 이동봉사자의 번거로움을 줄이고, 이동봉사의 의미를 제고하는 서비스입니다. 코넥독을 통해 더 많은 사람들이 지속적으로 이동봉사를 진행해, 더 많은 유기견들이 반려견으로의 새 삶을 찾는 일을 도울 수 있습니다.


🐾 포윗유(PawWithU)

팀명: 포윗유(PawWithU)

유기견의 새로운 삶을 연결해줄 수 있는 이동봉사을 알리기 위한 손길이라는 의미로 포윗유(PawWithU)라는 팀명을 지었습니다.

R&R

분야 이름 포지션
기획/PM 이시윤 프로젝트 매니징, 서비스 기획, 사업 모델 구축
기획/기획 리드 민혜린 서비스 기획
기획 서희원 서비스 기획, 사업 모델 구축
기획 김조아 서비스 기획, 사업 모델 구축
디자인/디자인 리드 권예인 디자인 시스템, UX 설계, UI 디자인 및 Prototype
프론트엔드/프론트 리드 김민주 AOS 화면 UI 구현, API 연동
프론트엔드 강승구 AOS 화면 UI 구현, API 연동
백엔드/백엔드 리드 민경혁 서버 배포, DB 및 API 구축
백엔드/코파운더 한호정 DB 및 API 구축

🐶 이동봉사란?

이동봉사는 입양, 치료 등 여러 목적으로 지역 간의 이동이 필요한 강아지들을 인계하는 봉사를 뜻합니다. 이동봉사는 크게 국내 이동봉사,해외 이동봉사로 나뉩니다.

국내 이동봉사는 구조, 병원 이동, 입양 등 다양한 목적으로 진행되며, 서울부터 제주까지 국내에서 이동이 필요한 유기견을 인계하는 이동봉사입니다.

해외 이동봉사는 주로 해외 입양을 목적으로 진행되며, 출국하는 사람이 유기견 동반 기내외 탑승을 신청해 해외로 이동이 필요한 유기견을 현지로 인계하는 이동봉사입니다. 해외의 경우, 입/출국 과정에서 검역, 수속, 세관 등 추가 프로세스를 이동봉사 중개 단체 측에서 지원합니다.


🔎 이동봉사 진행 과정

이동봉사는 크게 이동봉사 신청 → 안내& 사전 준비 → 당일 출발 → 당일 도착 → 진행 완료의 과정으로 구성됩니다.



💬 목적 및 필요성

✅ 서비스 목적

‘코넥독’은 더 많은 이동봉사자가 다양한 이동봉사 중개자를 통해 쉽게, 지속적으로 이동봉사를 진행할 수 있도록 돕는 이동봉사 매칭 플랫폼입니다.


서비스 필요성

📝 유저 리서치를 통한 이동봉사 신청의 불균형과 이동봉사 신청의 어려움 발견

포윗유 팀은 국내외 이동봉사자와 이동봉사 중개자 138명이 응답한 설문지와 8건의 전화 인터뷰를 통한 유저 리서치를 진행하여, 이동봉사자와 이동봉사 중개자가 이동봉사 과정에서 겪는 어려움과 니즈를 파악하고자 했습니다.


이동봉사 중개자

1️⃣ 이동봉사에 대한 사람들의 관심도는 증가했지만, 이동봉사 중개자는 여전히 이동봉사 신청 수가 현저히 부족하다는 어려움을 겪고 있습니다.

2022년 10월, 해외 이동봉사 내용을 담은 TV N 캐나다 체크인 이효리편 반영 이후 이동봉사에 대한 검색어와 사람들의 관심이 증가했습니다. 네이버 데이터랩 검색어트렌드 그래프를 통해 ‘이동봉사’의 유사 단어에 대한 검색어의 트렌드를 분석한 결과, 캐나다 체크인 반영일 이후 하루만에 검색량이 4,188% 증가했다는 인사이트를 확인할 수 있었습니다.

포윗유 팀은 이를 통해 익숙하지 않은 유기동물 이동봉사에 대해 이동봉사 중개자와 이동봉사자 모두의 검색량이 증가하고, 이동봉사 수의 확대가 지속된 것을 통해 더 많은 시장 확장 가능성을 보여준다는 사실을 도출했습니다.

김영환 케어 대표는 "해외 이동봉사는 과거부터 있었지만 매체 영향이 확실히 크다. 지난해 말 이효리 씨 방송 이후 신청이 50% 이상 증가했다"고 말했다.


반면, 여전히 이동봉사 중개자는 이동봉사 신청자 확보에 어려움을 겪고 있었습니다.

국내의 경우 새로운 대상에게 이동봉사 시간대, 요일 노출이 잘 되지않아 신규 이동봉사자의 유입보다는 기존 이동봉사자들이 참여하는 경우가 대부분이었습니다. 또한 신규 이동봉사자와의 봉사 불발 가능성이 높고, 기존 이동봉사자로만 이동 일정, 지역을 맞추기 굉장히 어렵다는 문제점으로 인해 1년 이동 필요 유기견 대비 신청 건은 평균 40%에 그쳤습니다.

해외의 경우 대형 이동봉사 중개 단체(카라, 케어, icntohome 등) 1년 평균 300건의 신청이 인입되며, 이동봉사 신청 추가적인 확보가 필요하지 않아 이동봉사 건을 양보하는 경우가 많았습니다. 하지만 양보의 과정 또한 원활하게 이루어지고 있지 않아 중소 중개 단체의 경우 많은 어려움을 겪고 있습니다.

“국내의 경우 빠른 시일 내에 이동봉사를 구해야 하는 경우가 많은데, 시간대 요일 홍보가 잘 안 돼서 구하는데 어려움을 겪고 있어요” (국내 이동봉사 중개자 인터뷰)

“단체가 열약하거나 마음이 아픈 사연이 있는 아이들은 비교적 봉사자를 구하기 쉬운데, 그런 아이들이 아니면 신청이 잘 안들어와요” (국내 이동봉사 중개자 인터뷰)

”신청자들은 대형 단체(카라, 동물자유연대 등)에 이동봉사 TO가 없을 때 모르는 단체에 타켓을 넘기는 걸 싫어하는 분도 계세요. 개인 정보를 소형 단체에 넘기는 것을 걱정하고 거부하는 경우가 있어요.” (해외 이동봉사 중개자 인터뷰)


이동봉사자

1️⃣ 이동봉사를 신청할 때 자신의 이동 일정과 지역에 맞는 공고를 신청하는 데에 어려움을 겪습니다.

이동봉사 신청 방식에 대한 국내, 해외 이동봉사 경험자 118명의 설문지 답변을 종합해본 결과, 약 62%가 “일정, 지역에 맞는 특정 이동봉사 공고를 선택하는 방식”이 아닌, “이동봉사 중개 단체를 먼저 선택하는 방식”으로 이동봉사를 신청했지만, 약 82%는 하나의 플랫폼에서 이동 일정, 지역에 맞는 특정 유기견 공고를 신청하는 방식을 더 선호한다는 결과가 도출되었습니다.



이를 통해 이동봉사자는 자신의 이동 일정, 지역에 맞는 이동봉사를 찾아 신청하고 싶지만, 현재 이동봉사 중개 단체별 공고 분리 등의 정보의 혼재로 인해 어려움을 겪는다는 사실을 도출할 수 있었습니다.

“남자친구와 친구들이 여러 단체를 선택해주고 도와줘서 최종적으로 봉사 기관을 고를 수 있었어요. 생각보다 어떠한 기준으로 봉사를 진행할 단체를 고르기 어렵더라고요” (국내 이동봉사자 인터뷰)

“단체가 여러군데 흩어져 있고 단체마다 가능/불가능 여부를 따로 다 확인해야해서 맞는 단체를 찾고 확정하는데 시간이 오래걸렸어요.” (해외 이동봉사자 설문지)


2️⃣ 이동봉사 중개자에 대한 신뢰성을 확인하는 과정에서 불편함을 느낍니다.

이동봉사자 이동봉사 중개자 선택 기준에 대한 국내, 해외 이동봉사 경험자 118명의 설문지 답변을 종합해본 결과, ‘유명한 이동봉사 중개 단체’보다는 ‘다양한 후기’와 ‘신뢰성’이 큰 기준이 된다는 것을 도출했습니다.

또한 63%의 응답자가 신뢰성을 확인할 수 있는 기능에 대해 긍정적인 반응(매우 그렇다+약간 그렇다)을 보였고, 이동봉사 중개자 선택에 걸린 시간은 평균 2.5일, 후보 개수는 2.49개에 달한 것으로 보아, 이동봉사자들이 중개자 선택에 굉장히 신중하다는 사실을 확인할 수 있었습니다.

하지만 현재 중개자 별 후기 및 근황은 따로 모아져 있지 않기 때문에. 이동봉사자의 추가적인 리서치가 필요합니다.

““이동봉사 중개 단체의 신뢰성이 선택의 가장 중요한 기준이라고 생각해요. 아무래도 생명을 다루는 일이라 조심스럽고 믿음이 있어야 봉사를 진행할 수 있다고 생각하거든요” (국내 이동봉사자 설문지)

"저도 처음에 봉사를 하기 위해 연락할 때 큰 곳 위주로 연락했어요. 큰 곳이 그나마 후기도 많고 무난하게 잘 진행될 것 같았거든요. 가끔 제 블로그에 사람들이 댓글로 어느 단체랑 했냐고 많이 여쭤보시는 것을 봐서는 이동봉사 중개 단체를 선택하는 데에 어려움을 겪는 것 같아요." (해외 이동봉사자 인터뷰)


3️⃣ 이동봉사자들은 봉사가 끝난 후, 입양 근황을 받는다면 이동봉사의 뿌듯함을 더 크게 느낍니다.

예시와 함께 질문한 서비스 추가 기능 제안에 대한 국내, 해외 이동봉사 경험자 118명의 설문지 답변을 종합해본 결과, 약 75%의 응답자가 ‘입양 근황 알림’을 작성했습니다.

  • 제시한 응답 예시: 이동봉사 중개 단체 신뢰도 및 평균 응답 속도 보여주는 프로필 / 이동봉사 후기 모음 / 이동봉사 이후 입양 근황 알림 기능 / 이동봉사 진행 시 체크리스트 제공 등


공통

1️⃣ 이동봉사 중개자와 이동봉사자는 서로의 진행 프로세스를 파악하는 것에 어려움을 느꼈습니다.

이동봉사 중개자는 일원화되지 않은 채널(인스타그램 DM, 카카오톡 등)을 통해 공고를 업로드하고, 동시에 수많은 이동봉사자와 소통하기에, 아래와 같은 문제점이 포착되었습니다.

  • 이동봉사자에게 일일이 이동봉사 세부 안내 사항을 전달하기 번거로움.
  • 혼재된 소통 채널에서 동시에 진행되는 이동봉사 건의 진행 단계(확정 여부, 입양 후 근황 전달 여부)를 일일이 파악하기 번거로움.
  • 추가로, 플랫폼마다 양식이 상이하기에 여러 번 공고를 작성하기에 번거로움.

“이동봉사 중개 단체는 한번에 여러 강아지를 돌봐야 하는데 이 때 어느 강아지가 봉사자를 구해졌는지 혹은 어느 강아지는 아직 봉사자를 찾지 못했는지와 같은 과정을 빠르게 파악하는 것이 중요해요. 봉사자들은 계속 연락이 오니 저희는 더 많은 강아지들을 도와줘야 하니까요” (미경험자, 해외 이동봉사 유기동물 임시보호 경험자 인터뷰)

이동봉사자의 경우, 단체 측의 진행 프로세스를 파악하는 것에 어려움을 겪고 있었습니다. 현재는 카카오톡 채팅방, 인스타그램 DM을 통해 이동봉사를 구하고, 명확한 진행 프로세스를 표시해주는 기능을 제공해주는 서비스는 없습니다.

“진행 상황에 대한 업데이트가 느렸습니다. 아무래도 제 정보로 하는 건데 서류가 잘 준비 됐는지 뭐 기타 등등에 대해서 당일이 될때까지 별로 연락이 없었습니다. 물론 그 덕분에 이동봉사자가 아무런 신경쓰지 않아도 된다는 점도 장점이겠지만, 한편으로는 제 정보와 제 비행기 운항에 영향이 갈 수도 있는데 업데이트가 느린 점은 조금 불편했던 것 같습니다.” (해외 이동봉사자 설문지)

이를 통해, 이동봉사 과정에서 효율적인 방식으로 봉사 진행 프로세스를 공유하는 방안이 필요하다는 사실을 도출할 수 있었습니다.


앞선 사용자별 문제 상황 & 니즈와 솔루션을 정리하면 다음과 같습니다.

문제 상황 & 니즈 솔루션
[이동봉사자]
이동봉사 중개자에 대한 신뢰성 파악 힘듦
중개자 별 ‘중개 프로필’을 통해 이동봉사 진행 횟수, 모집 공고, 후기, 근황을 확인할 수 있다.
[이동봉사자]
이동봉사에 대한 정확한 정보와 자세한 안내 부족
이동봉사를 처음 하는 사람도 쉽게 파악할 수 있도록 가이드라인, 주의사항, FAQ을 정리해 알려준다.
[이동봉사자]
이동봉사를 신청할 때 자신의 이동 일정과 지역에 맞는 공고 신청의 번거로움
여러 중개 단체를 검색하고 문의하지 않아도, 이동 일정&지역을 검색 필터를 통해 공고를 신청할 수 있도록 한다.
[이동봉사자]
이동봉사 한 유기견의 입양 후 근황 알림에 대한 니즈
유기견의 입양 근황을 모을 수 있는 공간을 마련한다.
[공통]
서로의 진행 프로세스를 파악하는 것의 어려움
이동봉사자, 이동봉사 중개자 “모집중, 승인 대기중, 진행중, 봉사완료” 등 진행 상태를 쉽게 체크할 수 있도록 한다.

따라서, 포윗유는 다양한 단체의 이동봉사 공고를 한 곳에 모아

(1) 이동봉사와 모든 이동봉사 중개자의 신뢰성을 확보하고,

(2) 이동봉사자가 자신의 이동 일정과 지역에 맞는 이동봉사를 편리하게 신청하고,

(3) 지속적으로 이동봉사를 진행할 수 있도록 돕는 플랫폼이 필요하다고 느꼈습니다.



💡 시장 조사

✅ 이동봉사 중개 단체 & 개인 중개자

이동봉사 중개자는 이동봉사 중개 단체, 개인 이동봉사 중개자로 나누어져 있습니다.

이동봉사 중개 단체는 카라, 케어, 웰컴독코리아 등 1년에 약 300건 이상 이동봉사를 진행하는 대형 단체와, 3-40건 이상 이동봉사를 진행하는 수많은 중소 단체로 이루어져 있습니다.

개인 이동봉사 중개자는 이동봉사 중개 단체 내 소속되어 이동봉사 공고를 홍보하는 중개자, 자체적으로 구조와 이동봉사를 진행하는 중개자 등으로 이루어져 있습니다.


1️⃣ 동물행동권 카라 - 대형

  • 카라는 현재 1만 2000명의 후원자를 확보한 사단법인 단체로 지난해 435건의 이동봉사 신청을 받았습니다. 사이트 내에 링크 되어있는 구글폼으로 이동봉사를 신청받습니다.

2️⃣ 동물권단체 케어 - 대형

  • 동물권단체 케어는 다양한 해외 이동봉사를 중개해주는 것으로 유명한 단체입니다. 사이트 내에 링크 되어있는 구글폼으로 이동봉사를 신청받습니다. 신청 사이트 내 FAQ 게시판을 운영하고 있습니다.

3️⃣ 웰컴독레스큐 (웰컴독코리아) - 대형

  • 웰컴독 레스큐는 국내 입양이 어려운 중대형견 해외입양을 전문적으로 하는 비영리단체로 현재 동물자유연대와 파트너쉽 관계에 있습니다. 사이트 내 해외이동봉사신청 버튼을 통해 해외이동봉사를 신청받고 있습니다.

4️⃣ 동물자유연대 - 대형


  • 동물자유연대는 현재 아시아나 항공과 연계한 캠페인을 통해 해외봉사 진행 시 아시아나 항공 비즈니스라운지 이용, 추가 수화물 무료 등 여러 혜택을 제공하고 있습니다.

기타 중소형 이동봉사 중개 단체 & 개인 중개자

  • 비마이독
  • 행동하는동물사랑
  • 울진보호소
  • 트레져 진도
  • 행동하는 동물사랑
  • 청주유기동물봉사모임
  • 기타 다수

✅ 경쟁사별 특징

현재 이동봉사가 매칭되는 플랫폼 및 채널은 크게 (1)인스타그램, (2)포인핸드, (3)이동봉사 중개 단체의 자체 사이트 (4) 유기동물 관련 블로그 및 카페로 구성되어 있으며, 가장 활성화된 채널은 인스타그램입니다. (2023.10 기준)

기존 주요 4가지 플랫폼 모두 ‘이동봉사’를 중심으로 만들어진 서비스가 아니기에, 이동봉사 이외의 내용이 산재되어 있으며, 이동봉사 모집, 신청 및 진행의 전체 프로세스를 포함하지 않습니다. 따라서 현재 코넥독의 명확한 경쟁사는 존재하지 않습니다.

🐕 코넥독 포인핸드 인스타그램 단체 자체 사이트 블로그/카페
서비스 이동봉사 매칭 플랫폼 입양&봉사 등 동물들을 위한 종합 플랫폼 SNS 단체의 정보 제공 회원 모집&관리
주요 유저 이동봉사에 관심 있는 사람, 이동봉사자, 이동봉사 중개 단체/개인 중개자 유기견 입양에 관심있는 사람 자신의 일상을 공유하고 싶은 사람 단체에 관심있는 사람, 단체에 봉사/후원을 하고 싶은 사람 특정 모임에 가입하고 싶은 사람
제공 기능 이동봉사 검색(필터 기능 제공), 가이드라인, 진행 상태, 게시판 입양, 보호소 찾기, 이동봉사. 게시판 운영 계정 검색, 좋아요, DM, 해시태그 단체 소개, 봉사모집(보호소 봉사/이동봉사), 후원, 게시판 게시판, 댓글, 쪽지
모집 방식 메인화면에서 공고 등록 및 검색(필터 기능 제공) 가능 [스토리-이동봉사]에서 확인 가능 해시태그 #이동봉사, 유기견 단체 계정에서 확인 대부분 상시모집으로 별도 신청 페이지 존재 게시판에 이동봉사 모집 글 등록
노출 효과 이동봉사 중개 단체 및 공고를 집중적으로 검색 가능 유기견 임보, 입양에 관심있는 유저는 다수, 봉사 목적으로 접속하는 사람은 적은 편 해시태그, 릴스, 지인의 스토리&게시글에서 확인 가능 → 신규 유저 모집 쉬움/ 정보량이 많아 이동봉사 집중 홍보는 힘듦 사이트 유저만 확인 가능 블로그/카페 회원만 확인 가능
신청 방식 공고의 신청버튼 클릭 게시글에 카카오톡 아이디 or 전화번호 첨부 → 연락 DM 기능 사용 사이트 내 구글폼으로 신청 → 연락 게시글에 카카오톡 아이디 or 전화번호 첨부 → 연락

🎯 서비스 타겟층 정의

서비스 타겟층은 아래 4가지로 나뉩니다.

  • 국내 이동봉사 중개자
  • 해외 이동봉사 중개자
  • 국내 이동봉사자
  • 해외 이동봉사자

이동봉사 특성상, 이동 필요 건이 많은 ‘국내’ 이동봉사 관련자를 1차 타겟 고객으로 설정합니다.

국내 이동봉사 중개자 서비스 타겟층은 이동 필요 유기견 두수 대비 이동봉사 신청자가 부족한 이동봉사 중개 단체 & 개인 중개자입니다.

국내 이동봉사자 서비스 타겟층은 이동봉사에 관심이 있지만, 이동봉사에 대한 상세한 정보가 부족하고, 자신의 이동 일정/지역에 맞는 이동봉사 공고를 일일이 찾기 번거로운 사람입니다.


타겟층 확장 계획

[이동봉사 중개 단체 & 개인]

분류 1차 타겟 유저 2차 타겟 유저
타겟 설정 이동봉사 신청 수가 부족한 국내 이동봉사 중개 단체 & 개인 국내 & 해외의 모든 이동봉사 중개 단체 & 개인
관련 기능 중개 프로필 중개 프로필, 이동봉사 진행 단계 표시, 이동봉사 진행 알림

[이동봉사자]

분류 1차 타겟 유저 2차 타겟 유저
타겟 설정 국내 이동봉사에 관심 있지만 일일이 공고를 검색하며 번거로움을 느끼는 사람 국내 & 해외의 모든 이동봉사 희망자 & 경험자
관련 기능 이동봉사 공고 검색 이동봉사 공고 검색, 후기 등록, 근황 알림

✅ 핵심 기능

핵심 기능 Overview

[이동봉사자]

기능 설명
이동봉사 공고 검색 및 신청 기능 이동봉사자가 자신의 예정 이동 일정과 지역을 기반으로 공고를 검색, 저장, 신청합니다.
단체별 후기 및 근황 조회 기능 이동봉사자는 이동봉사 중개 단체 별 후기, 이동봉사를 통한 지난 입양 근황을 조회하며 단체의 신뢰성을 평가합니다.
이동봉사 진행 단계 체크 기능 이동봉사자는 이동봉사를 진행하며 목적지 출발, 도착, 인계 완료 등의 진행 정도를 체크하여 이동봉사 중개 단체에게 진행 상황을 공유합니다.
이동봉사 후기 등록 기능 이동봉사자는 이동봉사를 진행한 후, 이동봉사 진행 과정과 느낀 점을 후기로 작성합니다.
이동봉사 근황 알림 기능 이동봉사자는 이동봉사를 진행한 후, 이동봉사 한 유기견의 입양 근황을 알림받습니다.

[이동봉사 중개자]

기능 설명
이동봉사 진행 단계 관리 기능 이동봉사 중개자는 공고 별 진행 상황(신청 수, 진행 상태, 완료 후 근황 등록 여부 등)을 체크하고 관리합니다.
이동봉사 공고 등록 기능 이동봉사 중개자는 이동봉사 공고를 등록합니다.
중개 프로필 설정 이동봉사 중개자는 중개 프로필 페이지에서 기본 정보, 후기, 입양 후 근황 및 진행 봉사 횟수를 업데이트합니다.

핵심 기능 주요 Point

1️⃣ 이동봉사 공고 검색

  • 이동 지역/일정 필터
    • [이동봉사자] 자신의 이동 일정, 지역을 선택해 이에 맞는 이동봉사 공고를 편리하게 확인할 수 있습니다.
  • 이동봉사 공고 북마크
    • [이동봉사자] 검색된 공고를 저장해, 비교한 후 원하는 공고를 선택할 수 있습니다.
  • 중개 프로필
    • [이동봉사자] 중개 프로필을 통해 기본 정보, 이동봉사 후기, 공고 현황 등을 조회하며 중개자의 신뢰성을 확인할 수 있습니다.

2️⃣ 이동봉사 신청 & 진행 단계 확인

  • 이동봉사 신청
    • [이동봉사자] 원하는 이동봉사 공고를 신청할 수 있습니다.
      • 신청 정보: 이름, 전화번호, 이용 교통수단, 한마디
  • 이동봉사 진행 단계 표시
    • [이동봉사자] 이동봉사 신청 후 확정 여부를 확인할 수 있습니다.
    • [이동봉사 중개자] 중개자가 올린 모든 공고를 “모집중, 승인 대기중, 진행중, 봉사 완료” 탭으로 구분하여 공고별 진행 상황을 파악할 수 있습니다.
    • [이동봉사 중개자] 이동봉사 신청을 확인하고, 신청 정보를 기반으로 승인, 반려할 수 있습니다.
    • [이동봉사 중개자] 이동봉사 완료 후 일정 기간이 지나면 근황 알림 리마인드 알림을 받습니다.

3️⃣ 이동봉사 후기 등록

  • 이동봉사 후기 작성
    • [이동봉사자] 이동봉사 완료 후 이동봉사 진행 과정과 느낀 점을 후기로 작성합니다.

4️⃣ 입양 근황 알림

  • 입양 근황 알림
    • [이동봉사자] 이동봉사 완료 후 유기견 입양 근황을 전달받습니다.

메뉴 구조도



🧩 비즈니스 모델 설계

비즈니스 모델 소개

일정 MAU, DAU를 확보한 후, 다음과 같은 비즈니스 모델이 적용됩니다.

관련 파트너 내용
이동봉사자 & 중개자 프리미엄 기능 제공 - 구독 모델
1. 이동봉사자
- 앱 내 광고 제거
- 실물 배지 증정
- 코넥독 전용 굿즈 제공

2. 이동봉사 중개자
- 앱 내 광고 제거
- 챗봇 서비스 제공(가이드라인 전달, 이동봉사 리마인드, FAQ 답변 등 자동처리)
기타 기업 앱 배너 및 팝업 광고
국내, 해외 여행 관련 기업 (항공사, 주유소 등) or ESG 경영 기업 제휴 캠페인
- 예시: 이동봉사 진행 시 항공사/주유소 포인트 제공

비즈니스 모델 캔버스 (Business Model Canvas)




🎁 가치 제안

이동 지역과 일정에 맞는 이동봉사를 쉽게 신청할 수 있도록 돕습니다.

  • 이동봉사자는 자신의 이동 일정과 지역에 맞는 이동봉사를 신청하여, 각 중개 단체를 검색하고 가능한 이동봉사를 문의하는 수고로움을 덜 수 있습니다.

모든 이동봉사 중개자가 이동봉사를 원활하게 진행할 수 있도록 돕습니다.

  • 이동봉사자가 이동봉사 중개 단체&개인 별 후기와 가이드라인을 쉽게 확인하여, 크지 않은 중개 단체&개인도 신뢰성을 확보할 수 있습니다.
  • 이동봉사 중개 단체&개인과 이동봉사자는 이동봉사 진행 상태를 서로 확인하며, 원활하게 소통할 수 있습니다.

더 많은 유기견 이동봉사가 지속될 수 있도록 돕습니다.

  • 이동봉사자는 입양 근황을 확인하고, 이동봉사 후기를 작성하며 이동봉사의 가치를 실감합니다.
  • 지속적인 유기견 이동봉사 중개를 통해 더 많은 이동봉사자 희망자들이 이동봉사를 진행할 수 있습니다.


🎨 디자인




🔍 System Architecture

💻 AOS




🌱 Server



📑 ERD




💻 Technology

  • AOS

    • JetPack, ktlint
  • Server

    • IntelliJ IDEA Java Springboot Spring Security Shell Script JWT Gradle Swagger
    • Spring Data JPA QueryDSL
    • MariaDB Redis RDS Hibernate
    • GitHub Actions EC2 AWS S3 AWS CodeDeploy Docker Nginx
  • Co-working Tool

    • Notion Postman Slack

🐾 기술 스택 선정 이유

📘 AOS 선정 이유

  • 저희 서비스에 대한 접근성을 높이기 위해 간편하게 접근할 수 있고 웹에서는 구현하기 힘든 푸시 알림, 카메라, GPS와 같은 하드웨어를 활용하기 위해 모바일 앱으로 서비스를 개발할 예정입니다.
  • 모바일 운영체제 중에서 안드로이드는 국내외에서 가장 높은 시장 점유율을 보유하고 있기 때문에 더 넓은 수요층에게 저희 서비스를 제공하기 위해 안드로이드 프레임워크를 선택하였습니다.
  • 높은 성능과 효율적으로 스마트폰의 리소스를 사용하기 위해 네이티브로 앱을 개발할 예정입니다.
  • 일반 MVVM 아키텍쳐보다 테스트와 유지보수를 용이하게 하기 위해 클린 아키텍쳐를 도입하기로 하였고 모듈 단위로 앱을 개발할 예정입니다.
  • 클린 아키텍쳐를 좀 더 간편하게 프로젝트에 적용하기 위해서 DataBinding, ViewModel, Paging, Navigation 등 Jetack의 다양한 라이브러리를 사용할 예정입니다.
  • 의존성 주입을 위해서는 Hilt를 사용할 예정입니다.
  • 안드로이드의 최신 기술인 Compose를 사용해 UI 개발을 진행할 예정입니다.
  • 코드의 재사용성을 높이고 빌드 속도를 줄이기 위해 앱을 여러개의 모듈로 나누어 개발을 진행할 예정입니다.

📗 Server 선정 이유

  • IntelliJ는 Spring Boot 개발을 위해 필요한 모듈과 기능을 간편하게 사용할 수 있는 IDE입니다.
  • Spring Boot는 Spring framework를 간편하게 사용할 수 있게 해주며 RDBMS와의 편리한 연동, 라이브러리의 버전 관리 자동화 등으로 Java 기반 애플리케이션 서버 개발에 특화되어 있습니다. 또한 자체적인 웹 서버를 내장하고 있어, 빠르고 간편하게 배포를 진행할 수 있다는 장점이 있고 Jar 파일로 프로젝트를 빌드 할 수 있어 클라우드 서비스 및 도커와 같은 가상화 환경에 빠르게 배포할 수 있습니다.
  • Spring Security는 Spring 기반의 애플리케이션의 보안을 담당하는 스프링 하위 프레임워크입니다. 인증과 권한에 대한 부분을 필터 흐름에 따라 처리하여, 보안에 관련해 체계적으로 많은 옵션을 제공해 줍니다.
  • Spring Data JPA는 JPA를 사용하기 편하도록 만들어 놓은 모듈로 repository 인터페이스를 제공해 간편하게 데이터에 접근할 수 있도록 도와줍니다.
  • QueryDSL은 쿼리를 타입에 맞게 안전하게 생성 및 관리해 주는 라이브러리입니다. JPA는 복잡한 동적 쿼리를 구현하는 데 있어 한계가 있는데, QueryDSL은 자바 코드로 SQL문을 작성할 수 있어 컴파일 시에 오류가 발생해 잘못된 쿼리가 실행되는 것을 방지할 수 있습니다.
  • MariaDB는 MySQL 데이터베이스 시스템을 기반으로 한 서비스로, MySQL과 호환성이 높고 MySQL에서 찾을 수 없는 수많은 강력한 기능과 유용성, 보안 및 성능 개선사항이 함께 제공됩니다. 또한 MySQL에 비해 확장성이 뛰어나고 쿼리 속도가 더 빠르다는 장점이 있습니다. 비용이 저렴하고 성능이 더 좋으며 라이선스 문제가 없는 MariaDB를 이번 프로젝트에 사용합니다.
  • AWS EC2는 가상 컴퓨터를 임대 받아 그 위에 컴퓨터 애플리케이션들을 실행할 수 있게 하고, RDS는 관계형 데이터베이스를 제공하는 서비스로 DB의 설정, 운영, 백업 등의 기능을 편하게 이용할 수 있게 해줍니다.
  • JWT는 Json Web Token으로 Json 포맷을 이용하여 이동봉사자에 대한 속성을 저장하는 Claim 기반의 Web Token입니다. 주로 클라이언트와 서버 사이에서 통신할 때 이동봉사자의 인증 또는 인가 정보를 안전하게 주고받기 위해서 사용되며, 안전하고 효율적으로 Stateless한 서버를 구현할 수 있습니다.
  • Redis는 Key, Value 구조의 데이터를 저장하고 관리하는 오픈 소스 기반의 인메모리 데이터 구조 저장소입니다. 로그인 과정에서 발급되는 JWT인 Access Token과 Refresh Token 중 Refresh Token을 캐싱하여 이동봉사자가 빠르게 Access Token을 재발급 받을 수 있게 하기 위해 Redis를 사용하였습니다. JWT로 구현된 Access Token은 탈취 당하더라도 유저 정보는 안전하지만, 이를 그대로 활용하여 로그인할 수 있기 때문에 만료 시간을 짧게 설정하고 Refresh Token을 이용하여 이동봉사자의 불편을 줄였습니다.
  • 무료로 사용할 수 있으며 비밀 값을 Repository Secret에 넣어 안전하게 관리할 수 있는 Github Actions를 사용하여 CI/CD를 구현했습니다.
  • Github Actions를 통해 성공적으로 빌드된 프로젝트는 AWS S3에 업로드 되게 되고, Github Actions가 CodeDeploy에 배포를 요청하며, CodeDeploy는 S3로부터 zip 파일을 받아 배포를 진행합니다.
  • AWS S3에 압축 파일을 전송하여 CI/CD를 구현하는 것은 효율적이고 빠른 배포 프로세스를 갖게 되며, 일관성, 보안, 롤백 용이성 등 다양한 이점을 제공합니다.
  • AWS CodeDeploy는 신속하고 안정적인 애플리케이션 배포를 가능하게 하며, 배포 중 문제가 발생한 경우 롤백을 수행할 수 있고 해당 문제를 모니터링하고 로깅할 수 있습니다. 또한 배포 그룹을 관리할 수 있고, 여러 배포 방식을 지원하여 애플리케이션의 규모와 특성에 따라 유연하게 적용할 수 있습니다. 이러한 장점들과 확장성을 고려하여 AWS CodeDeploy를 이용하였습니다.
  • CI/CD 구현 및 컨테이너화를 위해 Docker를 사용하였습니다. Docker Compose를 통해 빌드된 JAR 파일을 EC2 상에 컨테이너를 생성해 배포하였습니다. Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼으로, 환경에 구애받지 않고 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있습니다. 다양한 프로그램들과 실행환경을 컨테이너로 규격화시켜 프로그램의 배포 및 관리를 단순화할 수 있어 편리합니다.
  • 서버의 자원을 더욱 효율적으로 사용하기 위해 nginx를 사용하였고, Blue/Green 배포를 구현해 Nginx의 프록시 패스를 사용하여 요청을 블루 환경 또는 그린 환경으로 라우팅했습니다.

🔖 Naming Rules

💻 AOS

Kotlin

  • xml : snake_case
  • 변수, 함수명 : lowerCamelCase
  • 클래스명 : PascalCase
  • const 변수명 : SCREAMING_SNAKE_CASE

🌱 Server

Java

  • Class & Interface: UpperCamelCase
    • Class 이름은 일반적으로 명사, 명사구
    • Interface 이름은 명사, 명사구도 되지만 형용사, 형용사구도 됨
  • Package: Lowercase 복합단어 사용 금지
  • Method & Parameter: LowerCamelCase
    • Method 이름은 동사, 동사구
  • Constant: UpperSnakeCase
    • 모두 대문자로 밑줄(_)로 각 단어 구분
  • Non-constant field names & Local variable: LowerCamelCase
  • Camel case: defined
    • 구를 일반 ASCII로 변환하고 어퍼스트로피 제거
    • 단어로 나누고 공백과 나머지 구두점으로 분리
    • 각 단어를 UpperCamelCase로 표시하거나 첫 단어 제외한 각 단어는 LowerCamelCase
    • 모든 단어를 단일 식별자로 결합

🗂️ Commit Convention

<type>(<scope>): <short summary>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

📌 Type

💻 AOS

commit 명 commit 뜻
feat 신규 기능 구현 작업 (UI 구현 포함)
style 이미지, 폰트 등 values에 추가할 때
update 파일 코드 수정, 리팩토링 작업
delete 파일 삭제
docs 문서 관련 작업
fix 버그 수정
rename 변수/클래스/메서드 명 변경
build dependencies 변경
chore configs 변화 등 그 외 작업 (코드 변경 X)

🌱 Server

commit 명 commit 뜻
feat 새로운 기능 추가
fix 버그 수정
docs 문서 수정
style 스타일 수정 (인덴테이션, 세미콜론)
refactor 코드 리펙토링 (결과 변경x 코드 구조 재조정)
test 테스트 코드, 리펙토링 테스트 코드 추가
chore 빌드 스크립트 수정, 기타 변경 사항

🐬 Git Flow


About

큐시즘 28기 밋업데이 - 유기견 이동봉사 매칭 플랫폼, ConnectDog🐾

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages