Food Recipes

Android application that consuming (https://spoonacular.com/food-api) “Recipes api”. It has been built with clean architecture principles, Repository Pattern, and MVVM pattern as well as Architecture Components.

Demo

Main screen Details Screen

Architecture

Uses concepts of the Uncle Bob’s architecture Clean Architecture.

Built With ?

  • Kotlin First class and official programming language for Android development.
  • Coroutines – A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously
  • Flow – Flow is used to pass (send) a stream of data that can be computed asynchronously
  • Dagger-Hilt – For dependency injection.
  • JetPack Suite of libraries to help developers follow best practices.
    • Compose – Android’s recommended modern toolkit for building native UI.
    • Lifecycle – Used get lifecyle event of an activity or fragment and performs some action in response to change
    • ViewModel – Stores UI-related data that isn’t destroyed on UI changes.
    • Room – Used to create room db and store the data.
    • Navigation – Used to navigate between fragments.
  • Retrofit – Used for REST api communication.
  • Pagination 3 – Helps you load and display pages of data from a larger dataset.
  • Coil – Supported lib for loading images with jetpack compose.

TODO

  • End to end test
  • Unit test
  • CI/CD (Github Actions, Bitrise, Fastlane)

Contributions

Please feel free to file an issue for errors, suggestions or feature requests.

GitHub

View Github