Skip to content

Latest commit

 

History

History
407 lines (239 loc) · 19 KB

README.md

File metadata and controls

407 lines (239 loc) · 19 KB

🍱 집밥도착 🍱

2



📢 서비스 소개

집밥도착은 해외에서 한식 집밥을 그리워하는 교민을 위한 서비스입니다.

  • 지역 내 ‘완조리·반조리 한식’ 주문 기능을 제공하며

  • 지역 교민들끼리 한식을 나눔·교환 할 수 있는

플랫폼을 제공하고자 합니다.


팀명


안食처

  • 해외 교민들이 음식으로 안식할 수 있는 서비스를 만들겠다는 저희의 포부를 담았습니다.

📢 목적 및 필요성

1. 목적


집밥도착’은 해외에 거주하며 한식 집밥을 그리워하는 한인들이 만족스럽게 이를 먹을 수 있도록 돕는 것을 목적으로 합니다.


2. 필요성


안식처 팀은 해외에 거주 중인 한인들의 한식 관련 경험에 관심을 갖고 교민들과의 일대일 심층 인터뷰를 진행하였습니다. 그 결과, 이들 모두 최소 일주일에 2-3번, 많게는 매일 한식을 섭취하고 있다는 것을 통해 타국에서도 한식을 계속해서 찾고 있다는 것을 알 수 있었습니다.


인터뷰를 통해 교민들의 한식 섭취 방법으로는 크게 ‘외식’과 ‘가정에서의 조리’가 있다는 것을 파악할 수 있었습니다.



해외에서 한식을 먹을 수 있는 가장 쉬운 경로는 한식당에 방문하는 ‘외식’의 형태입니다.

교민들은 외식을 통해 접하는 한식에 대해 어떤 생각을 갖고 있을까요? 인터뷰를 통해 그들이 다음과 같은 Pain Point를 가지고 있다는 것을 파악하였습니다.

1️⃣ 가격이 굉장히 높음

2️⃣ 맛이 현지화된 경우가 많아 한국에서 먹던 한식 맛이 아님

3️⃣ 한국에서 접할 수 있는 것만큼 한식 메뉴가 다양하지 않음


해외 한식당에서 판매하는 한식이 위와 같은 문제를 가지고 있기 때문에 이들은 외식을 통한 한식 섭취가 아닌 한국 가정집에서 먹을 수 있는 메뉴와 맛의 한식, 즉 ‘한식 집밥’에 대한 니즈를 갖고 있다는 것을 알 수 있었습니다.



해외에서 한식 집밥을 먹을 수 있는 방법은 직접 ‘가정에서 조리'를 하는 것입니다.

이들은 한인 마트나 식재료 주문 플랫폼을 통해 식재료를 조달하고 이를 이용해 요리를 하여 한국에서의 집밥 맛을 재현하려 하지만, 해당 방법 역시 문제점을 갖고 있습니다.

1️⃣ 필요한 재료를 모두 구하기 어려워 원하는 음식을 완벽히 만들기 힘듦

2️⃣ 시간과 노력이 많이 필요함


즉, ‘외식’과 ‘가정 조리’는 한식 섭취 형태의 양극단에 놓여있지만 모두 동일하게 교민들에게 만족감을 제공해주지 못하고 있습니다.



이 두 가지 형태의 사이에는 ‘배달’이 존재합니다.

한식당에 방문하여 먹을 수 있는 음식과 동일하다는 점에서 외식의 형태에 좀 더 가깝지만, 동일한 음식을 가정에서 먹을 수 있다는 것과 배달 플랫폼 내 프로모션을 이용하면 조금이라도 저렴하게 음식을 구매할 수 있다는 점에서 완전한 외식의 형태인 외식 방문과는 차이가 존재합니다.

하지만 배달 역시 그럼에도 불구하고 여전히 높은 가격, 현지화된 맛, 메뉴 다양성 부족의 문제 는 해결되지 못한 채 지니고 있습니다.



위와 같은 이유들로 교민들은 한식 집밥을 그리워하지만 현재 이를 섭취하는 것에 대해 100% 만족하지 못하고 있기 때문에, 교민들이 만족스럽게 한식 집밥을 먹을 수 있도록 도움을 제공하는 서비스가 필요하다고 판단했습니다.


더 구체적으로, 한식 집밥을 원하지만 직접 조리하는 것에는 어려움이 있고 배달을 통해서는 그 니즈를 충족할 수 없기에, 교민들에게 만족스러운 한식 집밥을 제공하기 위해 ‘배달’과 ‘가정 조리’ 사이 중간 형태의 서비스가 필요함을 파악하였습니다. 카카오톡, 인스타그램과 같은 SNS를 통해 주변 교민이 만든 한식을 구매하는 방법이 있을 수 있지만, 낮은 인지도와 비효율적 운영 방식으로 역시 한식 집밥을 먹을 수 있는 완전한 경로가 되지는 못하고 있습니다.


따라서 저희 안식처팀은 합리적인 가격에 완조리•반조리 형태의 한식 집밥을 편리하게 구매할 수 있도록 하는 서비스를 기획하게 되었습니다.



edit1


🗂️ 리서치 및 시장조사

1. 경쟁사 분석


  • 벤치마킹사 UXUI 분석

    • 선정 이유

경쟁사   벤치마킹사 선정

- 배달K

3

- 팔도감

4

※ 벤치마킹사의 유저 플로우 및 UI를 분석, 반영할 만한 우수 요소를 IA 및 와이어프레임에 반영하고자 했습니다.

  • 경쟁사·벤치마킹사 대비 자사 기능 분석

edit2

edit3


2. 목표시장


TAM SAM SOM
전체 재외동포 수 전체 재외국민 수 미국, 캐나다 재외국민
약 732만 명 약 290만명 약 125만명
  • 재외국민 = 외국에 거주하는 한국인
  • 재외동포 = 재외국민 + 대한민국 국적을 보유하였던 사람 또는 그 직계비속 (’한국계 외국인’을 총칭하는 어휘)

TAM : 2021년 기준 재외동포 수 7,325,143명 (재외동포청 공식자료)

SAM: 2021년 기준 재외국민 수 2,948,144명 (재외동포청 공식자료)

SOM: 초기 수익 시장으로 한국인이 가장 많이 거주하고 있으며 직접적인 경쟁사가 부재한 미국과 캐나다로 선정하였습니다. 미국과 캐나다의 재외국민 수는 총합 1,244,546명입니다.



3. 유저 리서치 분석


한식 섭취와 관련하여 교민들의 페인포인트와 니즈를 구체적으로 파악하기 위해 객관식 설문조사가 아닌 1:1 인터뷰를 진행하였습니다. 현재 해외에서 한식을 판매하고 계시는 분 두 분(예상 판매자)과 교민(예상 구매자) 여덟명과 인터뷰를 하였고 각기 거주 국가, 성별, 나이대 등이 다른 사람들과 인터뷰를 진행하여 다양한 배경의 사용자들의 니즈를 파악할 수 있었습니다.


스크린샷 2023-10-12 오후 9 19 24
스크린샷 2023-10-12 오후 9 19 39

인터뷰 결과를 요약하면 아래와 같습니다.


한식당 및 배달 관련 (메뉴 다양성, 맛, 가격 측면)

  • 해외에서 접할 수 있는 한식 메뉴 다양성에 만족하지 못하고 있다. 특히 고깃집(Korean BBQ)이 정말 많고 기본적으로 유명한 한식 - 김치찌개, 된장찌개만 많이 판다.
  • 먹고 싶은 한식(삼계탕, 냉면, 떡볶이 등)을 파는 식당이 있다고 하더라도 맛이 만족스럽지 못하다.
  • 한국식당임에도 한국인이 아닌 외국인이 운영하는 경우가 많아 음식의 맛이 한국에서 먹던 맛과 다르다.
  • 한식당 가격이 확실히 현지 음식점 가격보다 비싸다.

요리 관련

  • 위와 같은 이유로 한식당에 만족하지 못하기 때문에 스스로 한식을 요리해먹는 경우가 많다.
  • [1인 가구] 시간이 없어서 제대로 된 요리는 하기 어렵다.
  • [1인 가구] 주로 한인마트에서 사온 라면, 3분카레와 같이 인스턴트를 많이 먹는다.
  • [반찬카톡방 이용자] 한식당보다 반찬 카톡방을 선호하는 이유는 해외에서 구하기 힘든 재료로 만든 한식을 먹을 수 있고, 가격이 더 저렴하기 때문이다.

→ 이러한 사실을 바탕으로 저희는 한식당과 배달에 만족하지 못하며, 직접 한식을 요리해먹는 것에도 어려움을 느끼는 사람을 대상으로 한식 집밥을 판매하는 서비스를 기획하였습니다. 이후 설문조사를 통해 거주 형태에 따른 한식에 대한 니즈와 해외에서 요리를 어떻게 하고 있는지에 대해 더 알아볼 예정입니다.


🗂️ 서비스 타겟층 정의

1차 타겟 유저


‘집밥도착’의 타겟층은 한식 집밥을 그리워하지만 맛•가격•한정된 메뉴•요리의 어려움 등 다양한 이유로 이를 만족스럽게 먹지 못하고 있는 교민들과, 식당•반찬가게•SNS 등의 다양한 방법으로 한식 집밥을 판매하고 있거나 판매하고 싶어하는 이들입니다.
image


2차 타겟 유저


해외에서의 한식 선호도가 꾸준히 증가하고 있는 추세이기 때문에 추후 서비스 확장 시 타겟 구매자층을 한인을 넘어 한국 국적을 가지고 있지 않은 이들까지 확대할 수 있습니다.
image


서비스 소개

  • 개요

‘집밥도착’은 해외에 거주 중인 한국인들이 쉽고 편리하게 만족스러운 한식을 먹을 수 있도록 도움을 제공합니다.

image


  • 핵심 기능 (IA)

edit4


※ 해당 IA는 구매자 기준이며, 판매자 도메인에서는 별도의 기능을 지원합니다.


서비스 비즈니스 모델

  • 파트너사 연계 방안

8


  • 수익 창출방안

9


디자인 무드보드


10

🖥️ 시스템 아키텍처

image


🖥️ 기술스택

  • Android Studio Retrofit
  • Swagger
  • Java 17 Spring Security Springboot Spring Stomp
  • Spring Data JPA QueryDSL RDS MySQL Redis
  • GitHub Actions S3 EC2 AWS CodeDeploy
  • Gradle

🖥️ 파트별 스택 설명

  • 웹/안드로이드
    • retrofit2 - api 통신을 하기 위함
    • viewmodel - MVVM 아키텍쳐를 이용하여 데이터를 저장하고 관리하기 위해 사용
    • livedata - 데이터를 관찰하고 데이터가 변했을 때 빠른 적용을 위해 사용
    • kakao - 카카오 소셜 로그인을 구현하기 위함
    • databinding - layout과 class를 쉽고 빠르게 연결하기 위해 사용
    • Okhttp - intercepter를 통해 api가 통신 되는 과정을 모니터링하고 관리하기 위해 사용
    • Glide - 서버와의 이미지 통신에서 이미지를 보다 쉽게 받기 위해 사용
    • Photopicker - 앨범에서 사진을 액세스하고 가져오기 위해 사용
  • 서버
    • springboot - 안정성, 확장성, 생산성을 고려하여 개발을 쉽게 하고 유지보수할 수 있는 웹 애플리케이션을 빠르게 구축하기 위한 프레임워크
    • spring data jpa - 데이터베이스 액세스를 단순화하고, 객체지향적 데이터베이스 연동이 가능하게 함
    • gradle - 간결하고 유연한 빌드 스크립트를 제공하여 의존성 관리와 빌드 프로세스를 효과적으로 관리
    • swagger - API 문서화와 간편한 테스트를 수행하는 도구로써 사용, API 개발 및 문서 작성을 편리하게 지원
    • spring security, jwt - 보안 강화를 위한 stateleess한 인증 및 권한 부여 매커니즘 구축을 위해 사용
    • gihtub actions - 지속적인 통합 및 배포 자동화를 구축
    • mysql - 안정성, 성능, 확장성 측면에서 우수한 관계형 데이터베이스
    • redis - Key, Value 구조의 데이터를 저장하고 관리하는 오픈 소스 기반의 인메모리 데이터 구조 저장소로, 채팅기능 관련 캐시로 사용
    • aws ec2 - 가상 컴퓨터를 제공받아, 운영체제 및 애플리케이션을 호스팅할 수 있는 클라우딩 컴퓨터 서비스로, 서버 인프라를 구축
    • aws s3 - 데이터를 안전하게 저장하고 검색할 수 있도록 설계된 클라우드 기반의 객체 스토리지 서비스. ci-cd프로세스와 이미지 저장에 사용
    • aws codedeploy - 코드 변경 사항을 다수의 서버에 효율적으로 배포할 수 있는 애플리케이션 배포 자동화 서비스.
    • aws rds - 완전 관리형 관계형 데이터베이스 서비스. 본 프로젝트에서는 엔진으로 mysql 사용
    • elasticache - 자동 확장/관리를 통해 성능을 향상시키며, 데이터베이스 부하를 감소시킬 수 있는 관리형 분산 캐싱 서비스.
  • 협업툴
    • notion, discord, slack

🖥️ 네이밍룰

  • 클래스 : UpperCamelCase, and·or와 같은 접속사를 사용하지 않고 25자 내외로 작성합니다.
  • 함수 : lowerCamelCase
  • 변수, 상수 : lowerCamelCase
  • DB 테이블: lower_snake_case
  • ENUM, 상수: Upper_snake_case
  • 컬렉션(Collection): 복수형을 사용하거나 컬렉션을 명시합니다. (Ex. userList, users, userMap)
  • LocalDateTime: 접미사에 Date를 붙입니다.

🖥️ Entity-Relationship Diagram

erd 최종

🖥️ 커밋컨벤션

<Prefix>: #<Issue_Number> <Description> 의 양식을 준수합니다.

  • feat : 새로운 기능 구현 feat: #11 구글 로그인 API 기능 구현
  • refactor : 내부 로직은 변경 하지 않고 기존의 코드를 개선하는 리팩터링 refactor: #15 코드 로직 개선
  • docs : README나 wiki 등의 문서 개정 docs: #14 리드미 수정
  • fix : 코드 오류 수정 fix: #10 회원가입 비즈니스 로직 오류 수정
  • style: 코드 스타일 관련 작업(코드 의미 변경X) fix: #10 코드 스타일 변경
  • rename: 변수/클래스/매서드 명 변경
  • del : 쓸모없는 코드 삭제 del: #12 불필요한 import 제거
  • build: dependencies 업데이트
  • chore : 의존성 추가, yml 추가와 수정, 패키지 구조 변경, 파일 이동 chore: #21 yml 수정, chore: #22 lombok 의존성 추가
  • test: 테스트 코드 작성, 수정 test: #20 로그인 API 테스트 코드 작성

APK 파일 위치

app > release > apk 파일 app > debug > apk 파일

🖥️ 깃 브랜치 전략

  • github flow
    github-flow-branching-model