A MVI architecture template with Jetpack Compose
This is a simple news reader app that fetches and displays the top stories feed from The New York Times. The app is built entirely with Kotlin and Jetpack Compose for a modern and responsive user experience.
-
Fetch Top Stories Articles
Retrieve the latest top stories from The New York Times API. -
Bookmark Articles
Save articles to a local database for quick access later. -
Open Articles in Browser
View the full article in your preferred web browser directly from the app.
The app is designed with Jetpack Compose, ensuring a modern, declarative UI.
Screen_recording_20240806_134946.webm
The app uses the following technologies and frameworks:
- Architecture: MVI (Model-View-Intent) + MVVM (Model-View-ViewModel)
- UI: Jetpack Compose
- Networking: Retrofit, OkHttp, Moshi
- Local Storage: Room Database
- Dependency Injection: Hilt
- Asynchronous Programming: Coroutines + Kotlin Flow
- Image Loading: Coil
- Code Generation: KSP
Below is the dependency structure for the app's modules:
The app is built following the MVI architecture pattern, combining it with MVVM for specific modules to:
- Simplify state management.
- Enhance modularity and separation of concerns.
- Support testability and maintainability.
Feel free to contribute or use this project as a template for your own Jetpack Compose applications.
