(11.07.2024) 2주차 발표 자료 회의 - Team-HGD/SniffMEET GitHub Wiki

발표에 핵심적으로 들어갈 내용

  • 간단 서비스 소개
  • MVP 기능 소개
  • 사용 기술 설명

들어가도 좋을 내용

  • (이번주에) 어려운 점
  • 배포된 내용 설명

🐾

목차

  1. 서비스 간단한 소개 1.
  2. MVP 기능 소개
    1. 페르소나 (주는쪽, 받는쪽)
    2. 메이트 맺기
    3. 익명 가입
    4. 산책 요청 / 받기
  3. 사용 기술 설명
    1. Nearby Interaction
    2. Multipeer Connectivity
    3. Firebase (익명로그인)
  4. ?
  5. 배포 내용 1.

페르소나: "함께 산책하는 강아지 친구를 원하는 견주, 한지우 (20세)"

배경

  • 20세, 마케팅 회사에서 일하는 직장인
  • 강아지 (3세 푸들)와 함께 살고 있으며, 반려견과의 산책을 하루의 중요한 일과로 생각함
  • 최근 반려견에게 새로운 자극과 친구가 필요하다고 느끼며, 본인도 새로운 사람들과의 교류에 관심이 생김

목표

  • 강아지와 함께 외출하며, 다른 견주와도 자연스럽게 친해지고 싶음
  • 강아지가 사회적 경험을 통해 다른 개들과 더 친해질 수 있도록 돕고 싶음
  • 산책을 더 즐겁고 의미 있게 보내고 싶음. 혼자 산책할 때보다 대화와 경험을 나누며 재미를 느끼고 싶음

동기

  • 강아지를 키우며 자연스럽게 다른 견주들과 교류의 필요성을 느낌
  • 강아지도 다른 강아지들과 교감할 수 있는 기회가 있으면 좋겠다고 생각함
  • 회사 생활이 바빠 친구를 자주 만나지 못해, 산책을 하면서 자연스레 새로운 인연을 만들고자 함

고민과 어려움

  • 처음 만난 사람과 친해지는 것이 쉽지 않음
  • 강아지 산책 시간대나 장소가 다를 경우 자주 만나는 사람과 연결되기 어려움
  • 반려견이 낯선 강아지와 어울리지 못할까 걱정됨

선호하는 서비스 기능

  • 근처에 있는 다른 견주를 찾아 연결해주는 기능
  • 특정 시간대나 장소에서 정기적으로 함께 산책할 모임을 만들어주는 기능
  • 강아지의 성향이나 산책 스타일에 맞는 견주를 추천해주는 기능

미나와 같은 페르소나는 SniffMeet과 같은 서비스를 통해 강아지 산책을 좀 더 풍부한 사회적 경험으로 만들고자 할 것입니다.

미나가 SniffMeet을 사용하면서 느낀 장점은 다음과 같습니다:


  1. 강아지의 사회화 기회

미나는 SniffMeet을 통해 자신의 반려견이 다른 개들과 상호작용할 기회를 가질 수 있어 매우 기뻤습니다. 자신의 강아지는 다소 소극적이라 다른 개들과 어울리는 데 어려움이 있었는데, 앱에서 제공하는 "강아지 성향 맞춤" 기능 덕분에 성격이 비슷한 개들을 만나게 되었고, 반려견이 점차 다른 강아지들과 잘 어울리는 모습을 볼 수 있었습니다.

3. 정기적인 모임과 커뮤니티

미나는 SniffMeet을 통해 주기적인 산책 모임에 참여할 수 있었습니다. 회사 업무로 바쁜 일정을 소화하느라 개인적인 시간을 만들기 어려운 상황에서, 앱 내에서 자동으로 모임을 제안받고, 같은 시간대에 함께 산책할 사람들을 쉽게 찾을 수 있어 시간 관리가 편리해졌습니다. 이로 인해 일상에서 계속적으로 강아지와 함께하는 즐거운 시간을 가질 수 있었습니다.

4. 친근하고 편리한 커뮤니케이션

미나는 SniffMeet의 간단한 메시징 기능을 통해 산책 전에 다른 견주들과 서로 강아지에 대해 얘기하거나, 산책 중에 생긴 작은 문제가 있을 때 즉시 소통할 수 있었습니다. 이런 점은 기존에 비슷한 서비스를 사용했을 때보다 훨씬 더 친근하고 직관적이어서 마음에 들었어요.

5. 강아지와의 연결감 증진

미나는 SniffMeet을 사용하면서 산책의 목적이 단순히 걷는 것에서 그치지 않고, 반려견과의 관계를 더욱 깊게 만들 수 있는 기회가 되었다는 느낌을 받았습니다. 새로운 친구들을 만나며, 반려견과 더 많이 교류하고, 강아지가 새로운 환경에 적응하는 모습을 보며 뿌듯함을 느꼈습니다.


네트워크 모듈화

  • 다이어그램

image

Layer의 명확한 분리와 테스트 용이성을 위해 네트워크 모듈화를 진행하기로 함.

  • 일관성과 관리 용이성을 위해 네트워크 요청과 응답을 캡슐화하여 관리하는 방식 채택
  • Datasource를 제공하는 주체이기 때문에 디코딩 역할을 맡지 않고 Data 타입으로 값을 제공
  • Network 계층은 주로 one-shot 작업이기 때문에 Combine 대신 Swift Concurrency를 사용하는 것이 더 직관적일 것이라고 판단.