AI-powered recipe app for importing, organizing, editing, and generating recipes.
- 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
- 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
- Clone the repository:
git clone https://github.com/angelol-git/recipe-manager.git
cd recipe-manager- Install dependencies:
cd server
npm install
cd ../client
npm install- 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_keyGet OAuth credentials from Google Cloud Console and the AI key from Google AI Studio.
Start the server:
cd server && npm run devRuns on http://localhost:8080.
Start the client:
cd client && npm run devRuns on http://localhost:5173.
Run benchmarks from server/:
npm run benchmark:create:text
npm run benchmark:scrape
npm run benchmark:url
npm run benchmark:url-contextNotes:
benchmark:create:textexpects the server to already be running onhttp://localhost:8080unless you pass--url.benchmark:scrapeandbenchmark:urlfetch live pages and need outbound network access.benchmark:url-contextalso requiresGOOGLE_API_KEYinserver/.env.