Skip to content

angelol-git/recipe-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

316 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Recipe Manager

AI-powered recipe app for importing, organizing, editing, and generating recipes.

Features

  • Import recipes from URLs with scraping and AI parsing
  • Generate or modify recipes through AI chat
  • Edit ingredients and instructions with drag-and-drop reordering
  • Organize recipes with custom color-coded tags
  • Sign in with Google to save recipes across sessions

Tech Stack

  • Frontend: React 19, Vite 7, Tailwind CSS 4, React Router 7, TanStack Query 5, @dnd-kit
  • Backend: Node.js, Express 5, SQLite, Google GenAI API, Cheerio, Google OAuth 2.0, Zod

Setup

  1. Clone the repository:
git clone https://github.com/angelol-git/recipe-manager.git
cd recipe-manager
  1. Install dependencies:
cd server
npm install
cd ../client
npm install
  1. Create server/.env:
NODE_ENV=development
PORT=8080
CLIENT_URL=http://localhost:5173
DATABASE_URL=./recipes.db
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_API_KEY=your_google_genai_api_key

Get OAuth credentials from Google Cloud Console and the AI key from Google AI Studio.

Run Locally

Start the server:

cd server && npm run dev

Runs on http://localhost:8080.

Start the client:

cd client && npm run dev

Runs on http://localhost:5173.

Benchmarks

Run benchmarks from server/:

npm run benchmark:create:text
npm run benchmark:scrape
npm run benchmark:url
npm run benchmark:url-context

Notes:

  • benchmark:create:text expects the server to already be running on http://localhost:8080 unless you pass --url.
  • benchmark:scrape and benchmark:url fetch live pages and need outbound network access.
  • benchmark:url-context also requires GOOGLE_API_KEY in server/.env.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors