A modern recipe finder web application built with React, TypeScript, and Redux. Discover delicious recipes based on ingredients, dietary preferences, and meal planning needs.
🔗 https://recipedia-rho.vercel.app
- 🔍 Ingredient-Based Search: Search for recipes by entering one or multiple ingredients
 - 📄 Search Results: Browse recipe cards with images, titles, and brief descriptions
 - 📖 Recipe Details: View full recipe instructions, ingredients, and more
 - 🌿 Dietary Filters: Filter recipes by dietary preferences (vegan, keto, gluten-free, etc.)
 - 🍎 Nutritional Information: See macronutrient breakdowns for each recipe
 - ❤️ Favorites: Save and manage your favorite recipes with local persistence
 - 🗓 Meal Planner: Plan your meals for the week and generate grocery lists
 - 📱 Responsive Design: Optimized for desktops, tablets, and mobile devices
 
- Frontend Framework: React with TypeScript
 - State Management: Redux Toolkit
 - Routing: React Router
 - Styling: Tailwind CSS, Material-UI
 - Icons: Lucide React
 - API Integration: Edamam Recipe API
 - HTTP Client: Axios
 - Date Handling: date-fns
 
- 
Clone the Repository
git clone https://github.com/sanjidaaaziz/Recipedia.git cd Recipedia - 
Install Dependencies
npm install
 - 
API Setup
To fetch recipes from the Edamam Recipe API, you'll need to set up your API credentials:
- 
Create a free developer account on Edamam.
 - 
Get your Application ID and Application Key.
 - 
Create a .env file in the root of your project and add the following
VITE_EDAMAM_APP_ID=your_app_id_here VITE_EDAMAM_APP_KEY=your_app_key_here VITE_EDAMAM_USER_ID=your_user_id_here
 
 - 
 - 
Start the Development Server
npm run dev
Open your browser and visit
http://localhost:5173
 
src/
├── components/          # Reusable UI components
│   ├── common/          # Shared components (Button, Loader, etc.)
│   ├── layout/          # Layout elements (Header, Footer)
│   ├── mealPlanner/     # Components related to meal planning
│   └── recipe/          # Recipe display and interaction components
├── pages/               # Page components (Home, RecipeDetails, etc.)
├── services/            # API interaction services
├── store/               # Redux store and feature slices
├── types/               # TypeScript type definitions
└── App.tsx              # Root component
- RecipeCard: Displays recipe preview with image and basic info
 - RecipeFilters: Handles dietary and cuisine-based filtering
 - MealCalendar: Weekly meal planning interface
 - GroceryList: Auto-generated grocery list from planned meals
 - NutritionInfo: Displays recipe nutritional information
 
Managed via Redux Toolkit, including:
- Recipe search results
 - Favorite recipes (persisted with localStorage)
 - Meal planning data
 - Global UI states
 
- Utility-first design using Tailwind CSS
 - Modular, reusable styled components
 - Smooth responsive layout
 
- Fork the repository
 - Create your feature branch (
git checkout -b feature/your-feature-name) - Commit your changes (
git commit -m 'Add your message') - Push to the branch (
git push origin feature/your-feature-name) - Open a Pull Request with a clear description of your changes
 
This project is licensed under the MIT License - see the LICENSE file for details.