Welcome to the [NewsApi] repository! This project is an Android application developed in Kotlin, leveraging the latest Android technologies, including Jetpack Compose for a modern and responsive UI. The app utilizes the The News API to fetch and display the latest news articles from around the world. This application is designed to be a showcase of best practices in modern Android development, including the use of MVVM, dependency injection, and the latest tools and libraries. Whether you're looking to stay informed with the latest news or explore the possibilities of Jetpack Compose and Kotlin in Android development, this project is a great starting point.
100% Kotlin
Dependency Managment With Version Catalog
Jetpack Compose
MVVM architecture
Android Architecture Components
Kotlin Coroutines + Flow
Single activity pattern
Dependency injection
Jetpack Compose - Build better apps faster with Jetpack Compose.
KSP - Migrate from kapt to KSP.
Chucker- An HTTP inspector for Android & OkHTTP
Retrofit + OkHttp - An HTTP inspector for Android & OkHTTP
Hilt - Dependency injection.
Android Architecture Components - A collection of libraries that help you design robust, testable and maintainable apps.
ViewModel - UI-related data holder, lifecycle aware.
Navigation component - Fragment routing handler.
Coroutines - Concurrency design pattern for asynchronous programming.
Flow - Stream of value that returns from suspend function.
Lottie - Animations in an Android App
Coil - Image loading
View : Activity/Fragment with UI-specific logics only.
ViewModel : It keeps the logic away from View layer, provides data streams for UI and handle user interactions
Model : Repository pattern, data layers that provide interface to manipulate data from both the local and remote data sources. The local data sources will serve as single source of truth
Have an project? DM me at