다크 디시 랩: 저주받은 레시피 생성기

발행: (2026년 4월 6일 AM 03:21 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

내가 만든 것

Dark Dish Lab은 저주받은 음식이나 음료 레시피를 생성하는 작고, 즐겁게도 쓸모 없는 웹 앱입니다.
당신은 다음을 선택합니다:

  • 싫어하는 재료
  • 맛의 혼돈 (짠 / 달콤 / 매운 / 신)

그럼 짧은 “레시피”와 공포 점수, 몇 단계, 그리고 경고 문구를 생성합니다. 실제 문제를 해결하진 않지만, 후회를 만들어냅니다.

YouTube 데모GitHub 저장소

프론트엔드

  • 프레임워크: React (Vite)
  • UI: 재료 + 맛 선택 인터페이스
  • 동작: 백엔드 API를 호출하고 생성된 결과를 렌더링

백엔드

  • 프레임워크: Spring Boot (Java 17)

API 엔드포인트

POST /api/generate
Content-Type: application/json

{
  "ingredients": ["…"],
  "flavors": ["salty", "sweet"]
}
  • 생성된 레시피 텍스트를 포함한 JSON 페이로드를 반환합니다.

선택적 AI: Google Gemini API

  • AI가 활성화되고 키가 제공되면 서비스는 Gemini에 매우 짧은 레시피 형식을 요청합니다.
  • AI가 비활성화되었거나 실패하면 비‑AI 생성기로 대체됩니다.

AI 통합

Gemini (Gemini API를 통해) 가 Dark Dish Lab의 “저주받은 레시피” 출력을 담당합니다. 일반 챗봇으로 AI를 사용하는 것이 아니라 포맷팅 엔진으로 작동합니다:

  • 입력: 선택된 재료 + 맛 축 (짠/달콤/매운/신)
  • 출력: 짧고 구조화된 레시피 (이름, 3단계, 1경고)

안정성을 위한 가드레일

  • 서버‑사이드 API 키만 사용 (backend/.env.local에 저장, 커밋되지 않음)
  • 엄격한 프롬프트 제약 (이모지 금지, 짧은 길이, 고정 포맷)
  • Gemini 사용 불가 시 대체 생성기
  • 예상치 못한 긴 응답을 방지하기 위한 출력 트리밍

참고 사항

  • 이미지 자산 대신 유니코드 이모지만 사용합니다.
  • API 키는 로컬 환경 파일에 보관되며 절대 커밋되지 않습니다.
  • Gemini API가 저주받은 레시피 뒤에 있는 텍스트 생성기입니다.

커뮤니티 인기 요소: 가능한 가장 저주받은 조합을 만들어 보세요. 재료 + 맛 선택과 받은 공포 점수를 댓글로 남기세요. 친구들이 읽기를 거부한다면 보너스 포인트!

0 조회
Back to Blog

관련 글

더 보기 »

캡티오

개요: 나는 Captio라는 작은 사이드 프로젝트를 진행하고 있습니다 – 이미지를 구조화된 텍스트로 변환하는 AI 도구입니다. 작동 방식: 1. 이미지 업로드 2. 클릭…