FoodFokr-KMM

Recipe App used to get data (food recipe and details from free api) using kmm (Kotlin/Multiplatform)

Screenshots

kmm.mp4

Built With

  • Kotlin – As a programming language.
  • Jetpack Compose – Jetpack Compose is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
  • [MVI Architecture] (https://medium.com/swlh/mvi-architecture-with-android-fcde123e3c4a) – With no clear state management, view rendering along with the business logic can get a little bit messy as the application grows or adding functionalities or a feature that was not planned beforehand, and let’s be honest that can happen often, it’s rare to have all the features clearly and fully defined from the start of the project specifications, the more the app codebase is scalable the more it’s flexible to embrace new ideas and updates.
  • Coroutines – For multithreading while handling requests to the server and local database.
  • Navigation Component – To handle app navigation.
  • Multidex – To enable creating multi dex files because of using set of libraries that reached the maximum size of single dex file.
  • Ktor.io – Ktor includes a multiplatform asynchronous HTTP client, which allows you to make requests and handle responses, extend its functionality with plugins, such as authentication, JSON serialization, and so on. In this tutorial, we’ll create a simple client application for sending a request and receiving a response.
  • Model-View-ViewModel(MVVM) – Offers an implementation of observer design pattern.
  • mutableState – notifies views of any database changes in an observer way.
  • Naiper – It helps in logging while debugging your app. and all logging code will not be embedded in the released APK.
  • koin – It is arguably the most used Dependency Injection, or DI, framework for Android. Many Android projects use Dagger to simplify building and providing dependencies across the app. It gives you the ability to create specific scopes, modules, and components, where each forms a piece of a puzzle: The dependency graph.
  • shimmer – It was developed in need for a shimmer effect that traverses across the whole screen, bringing only a certain subset of child views to shine.
  • Clean Architecture – Applying Clean Architecture and usecases and Solid Principles to build a robust, maintainable, and testable application.

GitHub

View Github