Generate recipes from your available ingredients, save them to a library, and revisit favorites by cuisine.
- Ingredient-based recipe generation with preferences (cuisine, diet, cook time, portions).
- Recipe results with summaries and full details.
- Cookbook page with cuisine navigation.
- Cuisine library with pagination and recipe detail view.
- IP and global quota enforcement via n8n (with user-facing messages).
- Angular 17 (standalone components)
- Firebase Firestore
- n8n for orchestration and AI workflow
- Node.js + npm
- Firebase project with Firestore enabled
- n8n instance (self-hosted or cloud)
npm installnpm startThen open http://localhost:4200.
Edit src/environments/environment.ts:
firebase: your Firebase app confign8nWebhookUrl: the n8n webhook used for recipe generationn8nQuotaUrl: optional endpoint to display remaining quota before generation
Collections used:
recipeRequests: request status and generated resultsrecipes: flattened recipe library entries used by the cuisine pagesquotaIpDaily/quotaGlobalDaily: daily quota counters (written by n8n)
n8n is used to handle recipe generation and quota checks. For detailed workflow setup, contact the repository owner.
npm start: run the dev servernpm run build: build the appnpm test: run unit tests
- The cuisine library page relies on Firestore indexes for queries by
cuisineandcreatedAt. - If a query error mentions missing indexes, create the suggested index in Firebase Console.
For workflow details or setup questions, contact the maintainer.