Calling all foodies!
Imagine this: you're doomscrolling social media and stumble across a scrumptious dish. Eager to try your hand at recreating it, you're disappointed to find that you have no idea what the dish is! If only there were a tool to help bring recipes to life, from camera to kitchen...
That's where picChef comes in. Simply upload an image of a dish and picChef will generate a detailed recipe.
- React frontend for modularity, with Typescript for type safety
- Tailwind for modern, responsive styling
- Motion library for seamless UI animations
- FastAPI and Python for the backend
- Supabase for recipe storage & user authentication
- Gemini for image recognition
- BeautifulSoup library for recipe scraping
- Upload image from file picker
- Image preview before upload
- Gemini AI image identification
- Search results page with recipes scraped from allrecipes.com
- Saved recipes page
- Email authentication
- Upload image via URL
- Dark/light theme switcher
- Custom notes for recipes
- Filter saved recipes by condition
- Python 3.8+
- Node.js
- npm
- Clone the repository:
git clone https://github.com/sophie900/picChef.git && npm install
- Create virtual environment and install Python packages:
-
Navigate to
backenddirectory:
cd backend -
Create a virtual environment:
python -m venv venv -
Activate virtual environment:
source venv/bin/activateon macOS/Linux
.\venv\Scripts\activateon Windows -
Install requirements:
pip install -r requirements.txt
- Get a Gemini API key here, then store it as an environment variable
cd backend
echo "GEMINI_API_KEY=YOUR_API_KEY_HERE" >> .env
- While in the
backendfolder, run the server
fastapi dev main.py
- Navigate to backend folder and run server
cd frontend
npm run dev
-
The application should be running at http://localhost:5173/.
-
Happy cooking!