The Movie Database (TMDb) is a community built movie and TV database. Their database contains a lot of movies, tv shows, artists and many more. They also provide developers access to their database for FREE!
Using their API is a great way to get started with networking in Android. Let’s first know the details of the app that we’re going to make.
App Specifications
Language: Kotlin
Architecture: None
The main third-party libraries that we’re going to use are:
Retrofit - to handle our network related features
Gson - parsing JSON objects from TMDb API
Glide - image loading library
Features
Feature #1: As a user, I want to see a list of movies so that I can browse through different movies.
Tasks:
It should be a horizontal list.
Each item should display an image of the movie.
Each item should have rounded corners.
Feature #2: As a user, I want the list of movies to be categorized by Popular, Top Rated and Upcoming so that I can easily look for movies based on the them.
Tasks:
Popular movies should be the first row.
Top Rated movies should be the second row.
Upcoming movies should be the last row.
Popular movies row should have a “Popular” label above it.
Top Rated movies row should have a “Top Rated” label above it.
Upcoming movies row should have an “Upcoming” label above it.
Feature #3: As a user, I want to be able to see the details of a movie so that I will know more about the movie.
Tasks:
It should show the cover photo of the movie.
It should show the poster of the movie.
It should show the title of the movie.
It should show the summary of the movie.
It should show the rating of the movie.
It should show the release date of the movie.
Scope
Now that we’ve covered the features that we’re going to implement, let’s move on to the features that we won’t cover: