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.
Uses concepts of the Uncle Bob's architecture Clean Architecture.
- 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.
- End to end test
- Unit test
- CI/CD (Github Actions, Bitrise, Fastlane)
Please feel free to file an issue for errors, suggestions or feature requests.