Skip to content

Repository files navigation

Fridge Recipe App

냉장고 사진을 업로드하면 AI가 식재료를 인식하고, 인식된 재료를 바탕으로 레시피를 추천해주는 Flask 웹 애플리케이션입니다. OpenRouter API를 통해 이미지 인식 모델과 텍스트 생성 모델을 호출합니다.

주요 기능

  • 냉장고 이미지 업로드 및 식재료 자동 인식
  • 인식된 재료 목록 수정
  • 요리 종류, 난이도, 인분 수, 추가 요청사항을 반영한 AI 레시피 생성
  • 이메일/비밀번호 기반 회원가입 및 로그인
  • 사용자 프로필 관리: 닉네임, 알레르기/기피 재료, 선호 요리, 기본 인분 수
  • 생성된 레시피 저장, 조회, 삭제, 검색

기술 스택

  • Python
  • Flask
  • Flask-SQLAlchemy
  • Flask-Login
  • Flask-Bcrypt
  • Flask-WTF
  • OpenRouter API
  • SQLite 기본 설정

프로젝트 구조

.
├── app.py                  # Flask 앱과 라우트
├── models.py               # User, SavedRecipe 모델
├── config.py               # 환경 변수 로딩
├── openrouter_client.py    # OpenRouter API 클라이언트
├── requirements.txt
├── static/                 # CSS/JS 정적 파일
├── templates/              # Jinja2 템플릿
└── PRD_step*.md            # 기능 단계별 PRD

설치 및 실행

git clone https://github.com/perust/Fridge-Recipe-App.git
cd Fridge-Recipe-App

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt

프로젝트 루트에 .env 파일을 만들고 필요한 값을 설정합니다.

OPENROUTER_API_KEY=your_openrouter_api_key
SECRET_KEY=your_flask_secret_key
# 선택: DATABASE_URI=sqlite:///app.db

SECRET_KEY는 다음 명령으로 생성할 수 있습니다.

python -c "import secrets; print(secrets.token_hex(32))"

앱 실행:

python app.py

브라우저에서 로컬 서버 주소로 접속해 냉장고 사진을 업로드합니다.

OpenRouter 모델

  • 이미지 재료 인식: google/gemma-3-27b-it:free
  • 레시피 생성: openai/gpt-oss-120b:free

무료 모델을 사용할 경우 OpenRouter 설정에서 관련 권한과 모델 사용 가능 여부를 확인해야 합니다.

참고 문서

  • PRD_step1.md: 냉장고 이미지 재료 인식
  • PRD_step2.md: AI 레시피 생성
  • PRD_step3.md: 사용자 프로필 및 레시피 저장

About

냉장고 사진 재료 인식 + OpenRouter AI 레시피 추천/저장 Flask 웹앱

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages