- This application uses Jetpack Compose and displays news from the Api by Retrofit2 and stores this news in RoomDb.
- The app supports light mode and dark mode.
- Splash Screen
- Stepper Screen
- Home Screen to display News
- Details Screen to display new details
- Search Screen to search news
- Bookmark Screen to display all news that is saved in RoomDb
- light mode and dark mode
- language: Kotlin
- UI layouts using Jetpack Compose
- Multi-screen navigation with Jetpack Compose Navigation.
- SavedStateHandle
- Coil Compose
- Lottie animation with Compose
- Clean Architecture {presentation - domain - data}
- MVVM & MVI architecture
- Pagination by Paging3
- Retrofit2 & Gson - construct the REST APIs.
- Flow
- Room Database
- DataStore Preferences
- Dependency injection by (Dagger Hilt)
- Coroutines for asynchronous
The following diagram shows all the modules and how each module interact with one another after. This architecture using a layered software architecture.


























