Skip to content

RecyclerView, MVVM, Repository, Dagger2, RXJava2, Room, Retrofit2, Work Manager, LiveData, Navigation, Paging, Data Binding, Picasso.

Notifications You must be signed in to change notification settings

AlinaStepanova/MovieFinder

Repository files navigation

MovieFinder

Find movies to be added to your personal watch- and favorites lists, search for movies by the title.
Review popular, top rated, upcoming and now playing movies.

Note: work in progress.

The TMDb movie database API: https://www.themoviedb.org/documentation/api

Please, obtain your own API key in order to work with the source code.

Active branches:

    dev - contains stable implementation of main functionality.

Architecture approach

Main libraries used:

Retrofit - as HTTP client
Dagger 2 - as dependency injection library
RxJava 2 - for execution of asynchronous tasks
Room - for work with SQLite database
Navigation Component - for work with fragments and navigation
Work Manager - for repetitive constraint-based tasks on background
Paging - for loading data in pages and showing it in a Recycler View
Lifecycle - for performing actions in response to a change in the lifecycle status of activities and fragments
Databinding - for binding UI components in layouts to data sources
Picasso - for loading and customizing images
JUnit 4, Mockito - tests