Skip to content

97zPaleBlueDot/Youtube-Recipe-Search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

"자린고비"

최저가 요리 유튜브 레시피 검색 서비스 (24.02~03, 07~)

2024 공개SW 개발자대회 출품작
Explore the development docs »

👉🏻Try Demo Service Now!

Table of Contents
  1. About The Project
  2. Feature Description
  3. System Architecture
  4. Future Roadmap

About The Project

기다려도 .gif가 로딩되지 않으면, Full Demo Video를 참고해 주세요.
for_readme

취미로 요리 학원을 다니면서, 여러 새로운 사실을 알게 되었습니다.

"대부분은 집밥이 사먹는 것보다 저렴하지만, 꼭 그런 건 아니구나."
"(만개의 레시피 같은) 텍스트보다 (유튜브) 영상 레시피 수요가 훨씬 높구나."

자린고비는, 이러한 발견에서 출발했습니다.



주요 특징과 효험

  • 텍스트 기반 요리 레시피가 아닌, 유튜브 영상 레시피 활용을 위한 정보 가공
  • 음식점/편의점 판매 요리의 원가 정보 제공을 통한 소비자 중심 경제적 편익 증진
  • 온라인 전자상거래 구매 링크 연동으로 재료를 찾거나 가격을 비교하는 데 드는 시간 및 구매 비용 절약

Main Tech Stack

  • Frontend: RetoolJavascriptJQuery
  • Backend: DjangoElasticSearch
  • Data Pipeline: AirflowGemini
  • RDB: postgresql
  • Infra: Terraformgithubactions

(back to top)

Feature Description

  • 🔍 요리 영상(유튜브) 레시피 검색
  • 📉🤑 최신 소매가를 반영해, 최저 비용으로 요리 가능한 레시피(재료, 단위, 양) 정보 제공
  • 🛍️ 최저 비용 산출에 사용된 재료별 최저가 상품 정보 제공
  • 🛒 재료별 최저가 상품 구매 링크 연동
  • 🏪 24시간 주기로 최저가 상품, 최저가 레시피 정보 갱신
  • 📊 사용자 검색 로그 적재
  • 🆕 신메뉴 및 레시피 정보 지속적 업데이트

(back to top)

System Architecture

For more details, please refer to the Infra Documentation

레시피 및 최저가 상품 정보 데이터 파이프라인

1. 기본 음식명·재료명 데이터 수집

  • 최초 데이터 확보: 유튜브 레시피 기반
  • 공공 API 크롤링: 음식명 데이터 선별 및 저장 (11,575건 중 153건)
  • 데이터 출처
    • 식품의약품안전처 '식품영양성분 데이터베이스'
    • 소스산업화센터 '소스 레시피 DB'
    • Lampcook '음식 다국어사전'

2. 유튜브 레시피 정보 수집

  • 유튜브 검색: Youtube Data API v3 호출 → "메뉴명 + 레시피" 검색 → 상위 10개 영상 링크 추출
  • 크롤링 및 스크래핑: Selenium 기반 웹 크롤링 → 영상 하단 '더보기' 정보 수집
  • Gemini로 데이터 전처리
    • 1차 검증: 검색한 음식명과 일치하는지 확인
    • 레시피 정보 확인: '더보기'에 레시피 정보가 포함된 경우, 재료명+양+단위(+대체 재료명) 형식으로 전처리
    • 모호한 값 처리: '조금', '적당량' 등의 모호한 값을 양(float)+단위(string)로 변환. 변환되지 않으면 최저가 레시피 후보에서 제외

3. 재료별 최저가 상품 정보 수집

  • 24시간 주기 갱신: Airflow로 배치 작업 자동화
  • 최저가 상품 선별: 쿠팡에서 재료명 검색 → 단위 가격 비교 후 최저가 상품 1개 저장 (검색 옵션: ‘쿠팡추천순’, ‘로켓배송/로켓프레시’ 필수)

4. 최저가 레시피 정보 업데이트

  • 24시간 주기 갱신: Airflow로 배치 작업 자동화
  • 최저가 계산: 재료별 단위 가격 × 레시피 사용량 → 레시피 총 가격 산출
  • 최저가 레시피 선정: 최대 10개의 레시피 가격을 비교해 최저가 레시피 선정

For more details, please refer to the Data Engineering Documentation

(back to top)

Future Roadmap

  • 시스템, 유저 대시보드 추가
  • 레시피 2개 이상 보여주기 (최저가순)
  • Frontend 재개발
  • 양•단위 변환 값 추가 → 서비스되는 메뉴•레시피 종류 늘리기

(back to top)

Releases

No releases published

Packages

No packages published

Contributors 5