/yumhub

Android app following clean architicture

Primary LanguageKotlinMIT LicenseMIT

YumHub 🥗

Introducing this Android app with a built-in ChatBot for all your culinary needs! Discover delicious recipes from around the world and access quick and easy instructions, ingredient lists, and nutritional info. Customize your search with filters, find recipes tailored to your diet, and even save your favorites for later. Plan your weekly meals effortlessly and get personalized meal suggestions based on your health goals, age, weight, height, gender, and activity level. Elevate your cooking game and achieve your dietary goals with our user-friendly recipe app!

Features 🎨

  • ChatBot 🤖: talk with the chat-bot to know more about recipes.
  • Discover recipes 🍲: discover popular recipes from around the world.
  • See quick and easy instructions 📝: see quick and easy instructions on how to make the recipe.
  • See a list of ingredients 📋: see a list of ingredients needed to make the recipe.
  • See random quick recipes 🎲: see random quick recipes to make.
  • Search using filters 🔍: search for recipes using filters to get the recipe or meal you wish!
  • Get recipes based on your diet 🍽: get recipes based on your diet, whether you're vegan, vegetarian, or on a keto diet.
  • Know nutritional information about the recipe 📊: know the nutritional information about the recipe, including calories, fat, protein, and carbs.
  • Save recipes to your favorites ❤️: save recipes to your favorites to view them later.
  • Plan your meals 📅: plan your meals for the week by adding recipes to your meal plan.
  • See your meal plan 🗓: see your meal plan for the week.
  • Meal suggester 🍽: get meals suggested to you based on your goal(Maintain, Gain, or Lose weight), age, weight and height, gender and activity level.

Technologies Used 🛠

  • Clean Architecture (MVVM architecture pattern): for a clean separation of concerns, testability, and maintainability.
  • ViewModel: for managing UI-related data in a lifecycle-conscious way.
  • Retrofit 2: Networking and making HTTP requests.
  • Gson: Serializing and deserializing JSON objects.
  • OkHttp: Logging HTTP requests.
  • Splash Screen: For A smooth splash screen experience.
  • Glide: Loading images asynchronously.
  • Navigation component: Navigating between fragments.
  • Room: Storing data in a local database.
  • Dagger Hilt: Dependency injection.
  • Coroutines: Asynchronous programming.
  • Image Slideshow: Displaying images in a slideshow.
  • Lottie: Displaying animations.

How to use:

  • For easy test and share experience with other developers, the first screen in the app requires an API key, you can generate one in this API console website

Screenshots 📸

photo_2023-09-16_19-20-46 photo_2023-09-16_19-20-48 photo_2023-09-16_19-20-50 photo_2023-09-16_19-20-51 photo_2023-09-16_19-20-55

Team 👨‍💻

Thanks goes to these wonderful people: