Skip to content

AI-powered kitchen companion that turns your ingredients into personalized recipe suggestions. Snap, share preferences, and discover your next meal.

Notifications You must be signed in to change notification settings

itsOmSarraf/dishcovery-nextjs

Repository files navigation

y# Dishcovery: AI-Powered Recipe Suggestion App 🍽️

Dishcovery is an innovative recipe suggestion platform where users can upload images of ingredients (fruits, vegetables, etc.) along with dietary preferences to generate personalized recipes. Powered by cutting-edge AI and robust backend systems, Dishcovery creates detailed recipes and saves them for users to browse, share, and enjoy.


Features

  • 📷 Ingredient Recognition: Upload photos of ingredients for analysis using AI vision models (Llama Vision from meta-llama/Llama-Vision-Free).
  • 🧑‍🍳 Personalized Recipes: Generate recipes tailored to dietary preferences and restrictions.
  • 📊 Detailed Recipe Information: Includes cooking steps, ingredients, calories, cooking time, servings, and dietary suitability.
  • 🖼️ Dish Gallery: A global showcase of dishes generated by users, viewable in a card-based layout.
  • 🛠️ Dynamic Dish View: Click on a dish card to see detailed information about that dish.
  • 🔁 Caching with Redis: Optimized performance for dish gallery and recipe fetching.
  • 🔒 User Authentication: Login functionality for users (future plans include a profile page to manage dishes).
  • 🔗 Shareable Content: Dynamic thumbnails and metadata (planned).
  • 🚀 Scalable Architecture: Optimized for high performance with caching and rate limiting.

Tech Stack

Frontend

Backend

Package Manager

  • Bun: For ultra-fast builds and dependency management (Why Bun?).

Deployment

  • Frontend & Server: Vercel
  • Database: Cloud-hosted PostgreSQL
  • Caching: Upstash Redis for serverless caching

How It Works

  1. Upload: Users upload an image of ingredients and specify dietary preferences.
  2. AI Analysis: The image is analyzed by AI, and a recipe prompt is generated.
  3. Recipe Creation: AI returns a detailed recipe, which is saved to the PostgreSQL database.
  4. Gallery Display: Recipes are cached in Redis for efficient loading and displayed in a gallery.
  5. Interactive View: Click on any dish in the gallery to view its full details.

Setup Instructions

Clone this repository

bun create itsOmSarraf/dishcovery-nextjs
cd dishcovery-nextjs

Install dependencies

bun install

Configure environment variables

  • Copy the .env.example

Run the development server

bun dev

Access the app

Visit http://localhost:3000.


Contributing

We welcome contributions to make Dishcovery even better! Here's how you can contribute:

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Add your message here"
  4. Push to the branch:
    git push origin feature-name
  5. Open a Pull Request.

Roadmap

  • 🚧 User Profile Pages: Allow users to view and manage their generated dishes.
  • 📤 Social Sharing: Add dynamic thumbnails and metadata for sharing.
  • 🕒 Rate Limiting: Implement per-user rate limiting for uploads.
  • 🌐 Global Caching: Optimize gallery performance with Redis caching.
  • 🔍 Search & Filter: Add functionality to search and filter dishes by cuisine, time, or dietary restrictions.

License

This project is open-source and available under the MIT License.

About

AI-powered kitchen companion that turns your ingredients into personalized recipe suggestions. Snap, share preferences, and discover your next meal.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published