A modern and responsive recipe discovery application developed with React. Browse thousands of recipes, save your favorites, and explore different cuisines with an intuitive search experience.
- π Real-Time Search - Instant results and autocomplete suggestions while typing
- β€οΈ Favorite System - Persistently save recipes you love using localStorage
- π Dark/Light Mode - Theme switching with smooth transitions
- π± Fully Responsive - Optimized for mobile, tablet, and desktop
- ποΈ Category Navigation - Discover recipes by category (Vegetarian, Seafood, Desserts, etc.)
- π¨ Fluid Animations - Polished user interface with hover effects and transitions
- π International Recipes - Explore dishes from world cuisines
- React 18 - Modern React and Hooks
- React Router v6 - Client-side routing
- Context API - Global state management
- Bootstrap 5 - Responsive UI framework
- Bootstrap Icons - Icon library
- TheMealDB API - Recipe data source
- Vite - Fast build tool and development server
- Node.js (v14 or higher)
- npm or yarn
- Clone the repository
git clone https://github.com/Erdem-Baran/meal-api-project.git
cd meal-api-project/meal-project-github
- Load the dependencies
npm install
- Start the development server
npm run dev
- Open in your browser
http://localhost:5173
- Get a build for production
npm run build
π Project Structure
meal-project-github/
βββ src/
β βββ components/ # Reusable components
β β βββ FavoriteButton.jsx
β β βββ Footer.jsx
β β βββ Header.jsx
β β βββ Loading.jsx
β β βββ Search.jsx
β βββ contexts/ # React Context providers
β β βββ Favorites.jsx
β β βββ ThemeContext.jsx
β βββ layout/ # Layout components
β β βββ MainLayout.jsx
β βββ pages/ # Page components
β β βββ CategoryMeals.jsx
β β βββ FavoritesPage.jsx
β β βββ Home.jsx
β β βββ Meal.jsx
β β βββ MealDetails.jsx
β β βββ SearchResults.jsx
β β βββ Vegetarian.jsx
β βββ App.jsx
β βββ main.jsx
β βββ index.css
βββ public/
βββ package.json
βββ vite.config.js
π― Learning Outcomes While developing this project, I learned and applied the following:
β Advanced React Hooks - useState, useEffect, useContext, useRef
β React Router v6 - Dynamic routing, nested routes, URL parameters
β Context API - Global state management without Redux
β API Integration - Fetching and processing data from external sources
β localStorage - Persisting user preferences
β Debouncing - Optimizing search performance
β Responsive Design - Mobile-first approach with Bootstrap
β Component Composition - Creating reusable UI components
π Acknowledgements API: TheMealDB - Free recipe API
Icons: Bootstrap Icons
UI Framework: Bootstrap 5
π License This project is licensed under the MIT License - feel free to use it for learning purposes.
π€ Developer Erdem Baran
GitHub: @Erdem-Baran
LinkedIn: My Profile
β If you found this project useful, please give it a star!