Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bedirhanssaglam/news-app-with-kotlin

News App: Kotlin, Coroutines, Hilt, Retrofit2, Room, Navigation Components, Glide, View Binding, MVVM, Repository pattern, pagination.
https://github.com/bedirhanssaglam/news-app-with-kotlin

android android-application coroutines glide kotlin mvvm navigation-component news retrofit2 room viewbinding

Last synced: 5 days ago
JSON representation

News App: Kotlin, Coroutines, Hilt, Retrofit2, Room, Navigation Components, Glide, View Binding, MVVM, Repository pattern, pagination.

Awesome Lists containing this project

README

        


News App


## Overview

- **Language and Asynchronous Programming**: Built entirely in [Kotlin](https://kotlinlang.org/) with [Coroutines](https://developer.android.com/kotlin/coroutines) for efficient asynchronous programming.

- **Dependency Injection**: Utilizes [Hilt](https://developer.android.com/training/dependency-injection/hilt-android) for dependency injection, simplifying management of dependencies throughout the app.

- **Networking**: Integrates [Retrofit2](https://square.github.io/retrofit/) for robust network requests handling, ensuring seamless communication with APIs.

- **Local Database**: Implements [Room](https://developer.android.com/jetpack/androidx/releases/room) for efficient local data storage, offering a reliable and structured way to manage app data.

- **Navigation**: Uses [Navigation Components](https://developer.android.com/guide/navigation) to implement navigation within the app, providing a consistent and predictable user experience.

- **Image Loading**: Leverages [Glide](https://bumptech.github.io/glide/) for efficient image loading and caching, enhancing the app's performance when displaying images.

- **View Interaction**: Implements [View Binding](https://developer.android.com/topic/libraries/view-binding) to simplify interaction between views and activities/fragments, reducing boilerplate code and improving maintainability.

- **Pagination**: Implements pagination to efficiently load and display large datasets from the News API, enhancing user experience with seamless scrolling and data loading.

## Screenshots







## Architecture

The News App follows the MVVM architecture pattern along with the Repository pattern, adhering to [Google's recommended architecture](https://developer.android.com/topic/architecture).


Architecture Diagram

## API Integration

The app integrates with the [News API](https://newsapi.org/) to fetch and display news content.