Food Recipes - Android application built with Jetpack compose, MVVM and clean architecture approach
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
|
|
|
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.