From Cravings to Cooking - Swipe, Discover, Repeat!
SavorSwipe »
Swipe left to discover mouthwatering food photos and right to reveal the complete recipe—ingredients with directions. Search for recipes by name or ingredients to find exactly what you're craving. Upload a picture of your own directions, ingredients or recipe to join it to the swipe list.
- Swipe Navigation: Easily browse through recipes by swiping left to discard or right to select.
- Recipe Search: Find recipes by title or ingredients with real-time filtering and recent search history.
- Recipe Details: View detailed information about each recipe, including ingredients and cooking instructions.
- Recipe Upload: Upload photos of recipes for OCR processing and automatic recipe extraction.
- Meal Type Filters: Filter recipes by category (main dish, dessert, appetizer, etc.).
- Expo: A framework and platform for universal React applications.
- AWS: Lambda for Dynamic Processing, S3 for Storage
- GPC: Custom Search JSON API - Web image search for food
- OPENAI: OCR for adding new recipes
To get started with the SavorSwipe, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/savorswipe.git cd savorswipe -
Install dependencies:
npm install
-
Create the backend Services
- s3 bucket to hold recipes
- Two folders /images and /jsondata
- Lambda Function
- With the Environmental Variables
API_KEY=<openai key for image ocr> SEARCH_ID=<custom search engine ID for Google Custom Search JSON API> SEARCH_KEY=<GPC API key to access Search Engine> AWS_S3_BUCKET=<to store images and recipes>
- s3 bucket to hold recipes
-
Add .env File
EXPO_PUBLIC_CLOUDFRONT_BASE_URL=<cloudfront distro fronting s3 image bucket> EXPO_PUBLIC_LAMBDA_FUNCTION_URL=<lambda url for backend>
-
Start the development server:
npm start
- Launch the app on your device.
- Swipe right to select a recipe or swipe left to discard it.
- Tap on a recipe to view its details, including ingredients and cooking instructions.
- Tap the hamburger menu (top-left corner).
- Select "Search Recipes".
- Type a recipe name or ingredient (e.g., "chocolate", "chicken", "garlic").
- Browse results and tap any recipe to view full details.
- Recent searches are saved for quick access.
Search Tips:
- Search by recipe title: "chocolate cake", "pasta primavera"
- Search by ingredient: "garlic", "chicken", "flour"
- Partial matches work: "choc" finds "chocolate"
- Case-insensitive searches
- Clear recent searches using the "Clear All" button
This project is licensed under the Apache License 2.0 - see the Apache License 2.0 for details.
