📢 본 프로젝트는 2024 Samsung Software Academy For Youth 10기 특화 프로젝트 일환으로 진행되었습니다.
-
우리 서비스를 찾는 사람들은 주로
집에서 요리를 즐기는 분
들이에요. 쉽게 구할 수 있는 식재료와 그 식재료로 만들 수 있는 다양한 요리법에 관심이 많죠. 그리고 요리 비용을 미리 알고 싶어 하며, 가능하다면 가장 저렴한 가격으로 식재료를 구입하고 싶어해요. -
상추
는 고객이 식재료를 쉽게 찾고, 요리 비용도 바로 알 수 있는 서비스를 만들어 이 문제를 해결하려고 해요! -
상추
는 고객이 식재료를 최저가로 구매하도록 도와주면서 식재료에 접근을 더 쉽게, 이 식재료로 어떤 요리를 할 수 있을까를 해결해줘요!
2024.02.22 ~ 2024.04.04 (6주)
일주일 기준 처리하는 데이터의 수
-
날씨 데이터 : 약 500개
-
소매 데이터 : 약 15만 개
-
유튜브 데이터 : 30만 ( 레시피의 개수 ) * 10개 ( 레시피당 영상 수 ) * 7 (일주일) = 2.1천만 개
-
일주일 데이터 가공량 : 2,115만 개
일주일이 아닌 총수집된 데이터의 개수는 아래와 같습니다.
-
총 수집 데이터 일주일 동안 수집 ( 4/1 당시 )
-
소매 데이터 : 약 560만 개 이상 ( 2019년부터 - 2024년 4월 1일 )
-
온라인 소매 데이터 : 약 140만 개 이상
-
유튜브 데이터 : 약 300만 개 ( DB에 저장된 데이터, 이전 데이터는 매일 갱신되어 삭제됩니다. )
-
레시피 데이터 : 27만 개 ( 10% 데이터 유실 )
-
날씨 데이터 : 약 500개
-
시연 당시(4/1) 데이터 수집량 : 1,027만 개
- 카테고리별 농수산물 재료 조회 및 검색
- 가격 분석 리포트 제공
- 농수산물 온/오프라인 가격 변동 추이
- 농수산물 목표가 설정/조회 기능
- 최저 가격 정보
- 위치 기반 구매 가능 시장 정보 제공
- 농수산물 재료를 통해 만들 수 있는 레시피
- 해당 레시피 유튜브 영상 제공
- 관심 있는 레시피
찜하기
기능 - 레시피에 대한 리뷰글 작성
- 리뷰글에 대한 댓글/대댓글 가능
- 네이버 OAuth2를 사용한 사용자 인증 기능 구현
- 닉네임 및 프로필 사진 등록
- 팔로워/팔로잉
- 사용자가 작성한 리뷰 글 / 찜한 레시피 목록 조회
- 사용자가 등록한 농수산물 가격의 요약 정보
frontend
📦src
├─📂@types
│ └─📂global
├─📂api
├─📂assets
│ ├─📂icons
│ ├─📂images
├─📂lotties
│ └─📂styles
│ └─📂font
├─📂components
│ ├─📂recipe
│ ├─📂user
│ ├─📂review
│ ├─📂ingredients
│ ├─📂report
│ ├─📂routes
│ └─📂common
├─📂pages
│ ├─📂recipe
│ ├─📂Home
│ ├─📂user
│ ├─📂review
│ ├─📂ingredients
│ └─📂report
├─📂constants
├─📂services
│ ├─📂recipe
│ ├─📂review
│ ├─📂recommend
│ ├─📂ingredients
│ ├─📂report
│ └─📂user
└─📂stores
frontend
📦src
├─📂@types
│ └─📂global
├─📂api
├─📂assets
│ ├─📂icons
│ ├─📂images
├─📂lotties
│ └─📂styles
│ └─📂font
├─📂components
│ ├─📂recipe
│ ├─📂user
│ ├─📂review
│ ├─📂ingredients
│ ├─📂report
│ ├─📂routes
│ └─📂common
├─📂pages
│ ├─📂recipe
│ ├─📂Home
│ ├─📂user
│ ├─📂review
│ ├─📂ingredients
│ └─📂report
├─📂constants
├─📂services
│ ├─📂recipe
│ ├─📂review
│ ├─📂recommend
│ ├─📂ingredients
│ ├─📂report
│ └─📂user
└─📂stores
backend
📦BE-RecipeService
└─ src
└─ main.java.com.cdd.recipeservice
│ ├─ 📂RecipeServiceApplication.java
│ ├─ 📂global
│ │ ├─ 📂annotation
│ │ ├─ 📂aop
│ │ ├─ 📂config
│ │ ├─ 📂domain
│ │ └─ 📂utils
│ ├─ 📂infra
│ │ ├─ 📂config
│ │ ├─ 📂ingredientInfo
│ │ ├─ 📂kakao
│ │ ├─ 📂member
│ │ ├─ 📂seoul
│ │ ├─ 📂storage
│ │ └─ 📂youtube
│ ├─ 📂ingredientmodule
│ │ ├─ 📂ingredient
│ │ │ ├─ 📂application
│ │ │ ├─ 📂domain
│ │ │ │ ├─ Ingredient.java
│ │ │ │ ├─ IngredientRepository.java
│ │ │ │ └─📂query
│ │ │ │ ├─ IngredientRepositoryCustom.java
│ │ │ │ └─ IngredientRepositoryImpl.java
│ │ │ ├─ 📂dto
│ │ │ │ └─ 📂response
│ │ │ ├─ 📂exception
│ │ │ ├─ 📂presentation
│ │ │ │ ├─ IngredientController.java
│ │ │ └─ 📂utils
│ │ ├─ 📂market
│ │ ├─ 📂targetprice
│ │ └─ 📂weeklyprice
│ └─ 📂recipemodule
│ ├─ 📂comment
│ ├─ 📂recipe
│ └─ 📂review
└─ 📂resources
├─ application.yml
└─ 📂db.migration # flyway
├─ V1__init.sql
├─ V2__add_basetime_to_market.sql
├─ V3__alter_sale_link_nullable.sql
├─ V4__alter_IngredientDailyPrice_name_relation.sql
├─ V5__rename_id.sql
├─ V6__add_knowhow.sql
├─ V7__alter_knowhow_len.sql
├─ V8__add_marketType.sql
└─ V9__add_recipe_id_by_cook_eat.sql
backend
📦BE-RecipeService
└─ src
└─ main.java.com.cdd.recipeservice
│ ├─ 📂RecipeServiceApplication.java
│ ├─ 📂global
│ │ ├─ 📂annotation
│ │ ├─ 📂aop
│ │ ├─ 📂config
│ │ ├─ 📂domain
│ │ └─ 📂utils
│ ├─ 📂infra
│ │ ├─ 📂config
│ │ ├─ 📂ingredientInfo
│ │ ├─ 📂kakao
│ │ ├─ 📂member
│ │ ├─ 📂seoul
│ │ ├─ 📂storage
│ │ └─ 📂youtube
│ ├─ 📂ingredientmodule
│ │ ├─ 📂ingredient
│ │ │ ├─ 📂application
│ │ │ ├─ 📂domain
│ │ │ │ ├─ Ingredient.java
│ │ │ │ ├─ IngredientRepository.java
│ │ │ │ └─📂query
│ │ │ │ ├─ IngredientRepositoryCustom.java
│ │ │ │ └─ IngredientRepositoryImpl.java
│ │ │ ├─ 📂dto
│ │ │ │ └─ 📂response
│ │ │ ├─ 📂exception
│ │ │ ├─ 📂presentation
│ │ │ │ ├─ IngredientController.java
│ │ │ └─ 📂utils
│ │ ├─ 📂market
│ │ ├─ 📂targetprice
│ │ └─ 📂weeklyprice
│ └─ 📂recipemodule
│ ├─ 📂comment
│ ├─ 📂recipe
│ └─ 📂review
└─ 📂resources
├─ application.yml
└─ 📂db.migration # flyway
├─ V1__init.sql
├─ V2__add_basetime_to_market.sql
├─ V3__alter_sale_link_nullable.sql
├─ V4__alter_IngredientDailyPrice_name_relation.sql
├─ V5__rename_id.sql
├─ V6__add_knowhow.sql
├─ V7__alter_knowhow_len.sql
├─ V8__add_marketType.sql
└─ V9__add_recipe_id_by_cook_eat.sql