Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/lovicesunuwar/android-kotlin-compose-news-app

A simple News app consuming Restful API from newsapi .org | Following Best Practices | MVVM | Dependency Injection | Dagger-Hilt | Coroutines | Retrofit | Central Dependency management |
https://github.com/lovicesunuwar/android-kotlin-compose-news-app

compose coroutines dependency-injection gson-converter hilt-dagger2 hilt-dependency-injection-android jetpack-compose kotlin kotlin-android kotlin-coroutines moshi moshi-converter mvvm-android okhttp3 retrofit2

Last synced: 26 days ago
JSON representation

A simple News app consuming Restful API from newsapi .org | Following Best Practices | MVVM | Dependency Injection | Dagger-Hilt | Coroutines | Retrofit | Central Dependency management |

Awesome Lists containing this project

README

        

https://github.com/LoviceSunuwar/Kotlin-Compose-News-App/assets/53461002/519a1aee-a298-4a07-b904-6ad7737c3063

![Screenshot](https://github.com/LoviceSunuwar/Kotlin-Compose-News-App/assets/53461002/82899105-46a6-440d-a011-15591011a3f4)

The "Kotlin-Compose-News-App" is a modern Android application that incorporates various technologies and architectural patterns to provide a robust and efficient user experience. Here's a summary of its key features:

- **JetPack Compose:** The app utilizes JetPack Compose, which is a modern Android UI toolkit for building native user interfaces through a declarative and reactive approach.

- **MVVM (Model-View-ViewModel):** The app follows the MVVM architectural pattern, separating the user interface (View) from the underlying data and business logic (Model and ViewModel).

- **Dependency Injection (Dagger-Hilt):** Dagger-Hilt is used for dependency injection, making it easier to manage and provide dependencies to different parts of the application.

- **Clean Code Structure:** The app maintains a clean and organized code structure, making it easier to develop, maintain, and scale the application.

- **UI Layer:** The user interface is built using JetPack Compose, providing a modern and intuitive interface for the app's users.

- **Data Layer:** The data layer is responsible for handling data retrieval, storage, and management.

- **Retrofit:** Retrofit is used for making network requests, enabling efficient communication with remote servers.

- **Coroutines:** Coroutines are used to manage asynchronous operations, making the app responsive and performant.

- **Flow:** Flow is employed for reactive programming, allowing the app to handle data streams efficiently.

- **Moshi:** Moshi is used for JSON parsing and serialization, ensuring data compatibility between the app and external services.

- **OKHttp:** OKHttp is used as the HTTP client, enhancing network connectivity and data retrieval.

- **Background Thread:** Background threads are utilized for performing tasks that should not block the main thread, ensuring a smooth user experience.

In summary, the "Kotlin-Compose-News-App" is a well-structured and modern Android application that leverages the power of JetPack Compose, MVVM architecture, and various libraries and tools to provide a seamless and efficient news browsing experience. It demonstrates best practices in Android app development, including clean code organization, dependency injection, and efficient handling of network requests and data streams.