오늘은 뭐 해먹지?
냉장고 재료 기반 AI 레시피 추천 서비스, 뭐해먹냉의 모노레포입니다.
- 재료 입력 및 자동완성
- AI 기반 레시피 추천 및 대표 이미지 제공
- 레시피 상세 조회, 저장, 관련 YouTube 영상 확인
- 레시피 공유 피드 작성, 조회, 댓글, 좋아요
- 마이페이지에서 내 재료, 저장 레시피, 작성 글, 좋아요한 글 관리
- Frontend: React, Vite, TailwindCSS, React Router, TanStack React Query, Zustand, motion/react, Carbon Icons, Radix UI, Storybook
- Backend: FastAPI, SQLAlchemy Async, Alembic, MySQL, LangChain Google GenAI, YouTube Data API, Naver Image Search API
.
├── frontend/ # 프론트엔드 애플리케이션
├── backend/ # FastAPI API 서버
├── .github/ # 이슈/PR 템플릿
├── README.md # 프로젝트 안내
├── CONTRIBUTING.md # 협업 규칙
└── LICENSE # MIT License
- Node.js 20.19 이상 또는 22.12 이상
- npm
- Python 3.11 이상 권장
- MySQL 서버
- Gemini API 키, YouTube Data API 키, Naver Search API 키
프론트엔드와 백엔드는 각각 별도의 .env 파일을 사용합니다. 로컬 실행 전 샘플 파일을 복사한 뒤 필요한 값을 채웁니다.
cp frontend/.env.example frontend/.env
cp backend/.env.example backend/.env각 환경변수의 의미와 로컬 기본값은 Frontend README와 Backend README를 참고합니다.
환경변수 설정을 마친 뒤 백엔드와 프론트엔드를 각각 실행합니다.
백엔드 실행 예시는 macOS/Linux 기준입니다. Windows 실행 명령은 Backend README를 참고합니다. 아래 명령은 레포 루트에서 각각 별도 터미널로 실행합니다.
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
alembic upgrade head
uvicorn app.main:app --reloadcd frontend
npm install
npm run devStorybook은 프론트엔드 개발 서버와 별도로 실행합니다.
cd frontend
npm run storybook- 프론트엔드: http://localhost:5173
- Storybook: http://localhost:6006
- 백엔드 API 문서: http://localhost:8000/docs
이 프로젝트는 MIT License를 따릅니다. 자세한 내용은 LICENSE를 참고해주세요.