Skip to content

Sample news app using Kotlin, Hilt, Coroutines, Coil, Room, Retrofit

Notifications You must be signed in to change notification settings

Mina-Mikhail/News-App

Repository files navigation

Tech stack & News App libraries

  • Navigation component - navigation graph for navigating and replacing screens/fragments
  • DataBinding - allows to more easily write code that interacts with views and replaces findViewById, handle click listeners and different states of loading data inside recyclerView.
  • ViewModel - UI related data holder, lifecycle aware.
  • LiveData - Build data objects that notify views when the underlying database changes.
  • Dagger-Hilt for dependency injection. Object creation and scoping is handled by Hilt.
  • Kotlin Coroutines + Flow - for managing background threads with simplified code and reducing needs for callbacks
  • Retrofit2 & OkHttp3 - to make REST requests to the web service integrated.
  • Room for database
  • Recyclerview animation
  • Coil - for image loading

Architecture:

  • MVVM Architecture
  • Repository pattern
  • Applying SOLID principles, each class has a single job with separation of concerns by making classes independent of each other and communicating with interfaces.

Features

  • Get breaking news
  • Save news to local
  • Search for specific news

License

This project is licensed under the MIT License - see the LICENSE file for details

About

Sample news app using Kotlin, Hilt, Coroutines, Coil, Room, Retrofit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages