Skip to content

The Food Recipe app is a comprehensive mobile application that allows users to explore a wide variety of delicious food recipes. With an intuitive user interface and seamless integration with popular APIs and services, this app provides a delightful experience for users to discover, save, and try out new recipes.

License

Notifications You must be signed in to change notification settings

Vikhorz/food-recipe-app

Repository files navigation

Food Recipe App

Welcome to the Food Recipe app repository! This app provides a user-friendly interface for browsing and discovering various food recipes. It leverages the Yummly API through the RapidAPI service to fetch recipe data, and it also integrates Firebase for user authentication and storage. which the Firebase allows new users to create an account and access the full features of the Food Recipe app. With a simple and intuitive interface, signing up is a breeze.

Features

User Registration and Authentication:

  • Sign up with email and password using Firebase Authentication.

  • Sign in with existing credentials or create a new account.

  • Sign in with a phone number using Firebase Phone Authentication.

  • Sign in with Google account using Firebase Google Authentication.

Recipe Search and Browsing:

  • Browse a wide range of recipes fetched from the Yummly API.
  • Search for recipes based on keywords, ingredients, or categories.
  • View detailed information for each recipe, including ingredients and instructions.

Favorites:

  • Save favorite recipes to a personal favorites list.
  • Access the favorites list to quickly find and reference saved recipes.

Screens

The app consists of the following screens:

Login Screen:

  • Allows users to sign in to their accounts or create a new account to access the full features of the Food Recipe App!.
  • Provides options for signing in with email and password, phone number, or Google account.

Login Screen Signup Screen

Home Screen:

  • Displays a list of featured recipes and categories for browsing.
  • Allows users to search for specific recipes or explore different categories.

Home Screen

Recipe Detail Screen:

  • Provides detailed information about a specific recipe.
  • Shows the recipe name, image, ingredients, and instructions.
  • Allows users to add the recipe to their favorites list.

Recipe Detail Screen

Favorites Screen:

  • Displays a list of the user's favorite recipes.
  • Allows users to view and access their saved recipes.
  • Provides options to remove recipes from the favorites list.

Alt text

Dependencies and Packages

These are some of the main packages and dependencies used in the development of the Food Recipe app:

  • shared_preferences: ^2.1.0 - Provides a persistent key-value store for storing user preferences.
  • google_nav_bar: ^5.0.6 - Offers a customizable bottom navigation bar with smooth animations and icons.
  • font_awesome_flutter: ^10.4.0 - Allows you to use FontAwesome icons in your Flutter app.
  • staggered_grid_view_flutter: ^0.0.4 - Implements a staggered grid view for displaying a dynamic grid of items with various sizes.
  • flutter_staggered_grid_view: ^0.6.2 - Provides a responsive staggered grid view with customizable parameters.
  • firebase_auth: ^4.4.2 - Enables authentication using Firebase Authentication services.
  • firebase_core: ^2.10.0 - Initializes Firebase services and provides necessary configuration for Firebase plugins.
  • lottie: ^2.3.2 - Renders animations created with Adobe After Effects in Flutter apps using Lottie format.
  • cloud_firestore: ^4.5.3 - Offers a cloud-based NoSQL database for storing and syncing app data.
  • http: ^0.13.5 - Provides functions for making HTTP requests and handling responses.
  • google_sign_in: ^6.1.0 - Implements Google Sign-In functionality for authenticating users with their Google accounts.
  • bottom_bar_matu: ^1.3.0 - Renders a customizable bottom navigation bar with different styles and animations.
  • flashy_tab_bar2: ^0.0.6 - Displays a flashy tab bar with customizable animations and effects.
  • provider: ^6.0.5 - Implements state management and dependency injection using the Provider pattern.
  • firebase_database: ^10.1.1 - Offers real-time data synchronization and storage using Firebase Realtime Database.

These packages provide various functionalities for your Food Recipe app, including data storage, authentication, UI components, animations, and more.

Getting Started

To run the Food Recipe app locally, follow these steps:

1. Clone the repository:

git clone https://github.com/Vikhorz/food-recipe-app.git

2. Install the dependencies:

cd food-recipe-app then flutter pub get

3. Set up the Firebase project:

  • Create a new Firebase project in the Firebase Console.
  • Enable Firebase Authentication and Firestore in the project.
  • Add the necessary configuration files to the app following the Firebase documentation.

4. Set up the RapidAPI service:

  • Sign up for a RapidAPI account and subscribe to the Yummly API.
  • Obtain the API key required for accessing recipe data.

5. Update the configuration:

  • Replace the placeholder API keys and Firebase configuration values in the app code with your own credentials.

6. Run the app:

  • Connect a device or start an emulator.
  • Run the following command:

flutter run

Technologies Used

  • Flutter: A UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase.
  • Firebase: A comprehensive development platform that includes tools and services for building and managing mobile and web apps.
  • RapidAPI: A platform that allows developers to access a wide range of APIs and integrate them into their applications.

License

Credits

About

The Food Recipe app is a comprehensive mobile application that allows users to explore a wide variety of delicious food recipes. With an intuitive user interface and seamless integration with popular APIs and services, this app provides a delightful experience for users to discover, save, and try out new recipes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published