The I cook android app
MVVM: for separating the UI from the data layer

-
UI Layer
1.1. Activity & Composables
1.2. ViewModel
-
Domain layer (Not needed in this case)
-
Data Layer
2.1. Repository
2.2. DataSource
- Kotlin: for building the app
- Android Jetpack Compose: for building and navigate the UI
- Coil: for load images asynchronously from internet
- Google Maps: for displaying maps
- Maps Compose library: for displaying maps with Compose
- Secrets gradle plugin: to hide the maps API key from VCS
- Hilt: for dependency injection
- Flows: for asynchronous data streams
- Coroutines: for asynchronous programming
- Retrofit: for making network requests
- JUnit: for testing
- Improve the UX/UI
- Add Room or DataStore for caching data
- Add new EndPoint for search food recipe by id
- Add Domain Layer when the app is more complex
- Add Firebase authentication for login and register
- Add CI/CE pipeline
- Add R8 for minifying and optimizing the code