MoviesApp
Displays all movies from the cloud with filters selected

Profiles:
LinkedIn: https://www.linkedin.com/in/nikitha-gullapalli/
GitHub: https://github.com/nikitha2/MoviesApp.git
Introduction:
Movies app starts off with a list of movies from the cloud sorted based on the most popular filter. Users can change filters (most popular, most rated, favorites and language preferred). This functionality is implemented using shared preferences. The app then loads data from the cloud and displays it on the screen. Users can see the movie details, trailers, reviews by clicking on the movie they like on the home screen. In the detail screen, they can see the trailer of the movie or read comments or see any information they require and can even favorite a movie that can later filter out using the favorite filter in the settings.
App Implementation Overview:
Movies app starts off with a list of movies from the cloud using Retrofit libraries. The data is then stored in a local database. Every time the data in the API changes Retrofit will fetch the new data and update the local database(implemented using Room libraries). Observing of API and database is achieved by LiveData.
LiveData basically says when even there is a change I will let you know as long as you are subscribed to the services. So Activities/ Fragments that need to read data from the API or database have subscribed to respective LiveData components.
Topics covered: SharedPreferences, LiveData, Retrofit, Room.

App Architecture:
Room and LiveData with Room:
On a detailed description of how to implement Room database check out the below article.
SharedPreferences:
On a detailed description of how to implement settings screen using SharedPreferences check out the below article.
Retrofit and LiveData with Retrofit:
On a detailed description of how to implement Retrofit Webservice calls check out the below article.