Skip to content

Kotlin Photo list sample with MVVM(Google Component Architecture), Rxjava, Dagger2, Navigation and Paging Infinite Scrolling

Notifications You must be signed in to change notification settings

sepidevatankhah/Kotlin-Mvvm-Rxjava-Dagger-Retrofit

Repository files navigation

Kotlin - MVVM - Rxjava - Dagger - Paging Infinite Scrolling

A Photo list sample that retrieves pictures from Pixabay site

  • The application supports both portrait and landscape mode 
  • The user is able to search for images entering a search term with at least 3  characters 
  • When the app starts it triggers a search for the string "flowers"
  • When an item in the result list gets clicked, a new detail screen will be opened

What is used in project?

  1. Kotlin
  2. Clean Architecture: An app using layered architecture based on Clean Architecture by Uncle Bob.
  3. Retrofit: To retrieve data from the network
  4. Architecture components and using MVVM: LiveData and ViewModel
  5. Paging library: Using PagedList to fetch more data from network.
  6. Navigation component: At last it's settled, single activity is what's Google recommend now. Navigation editor makes things easy for us to design navigation path of our app.
  7. Dagger 2: Using Dependency injection to manage the dependencies in an optimal way.
  8. Glide: To view images from the network

Library reference resources:

  1. Dagger2: GitHub - google/dagger: A fast dependency injector for Android and Java.
  2. Retrofit: GitHub - square/retrofit: Type-safe HTTP client for Android and Java by Square, Inc.
  3. RxJava2: GitHub - ReactiveX/RxJava: RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
  4. Constraint-Layout: Build a Responsive UI with ConstraintLayout | Android Developers
  5. Glide: An image loading and caching library for Android focused on smooth scrolling

About

Kotlin Photo list sample with MVVM(Google Component Architecture), Rxjava, Dagger2, Navigation and Paging Infinite Scrolling

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages