Make a Movies App Using TMDb API in Kotlin Part 1 - Project Specifications

For offline viewing, get the eBook (PDF & ePUB) version + source code here.

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


Feature #1: As a user, I want to see a list of movies so that I can browse through different movies.


  1. It should be a horizontal list.
  2. Each item should display an image of the movie.
  3. Each item should have rounded corners.


  1. Popular movies should be the first row.
  2. Top Rated movies should be the second row.
  3. Upcoming movies should be the last row.
  4. Popular movies row should have a “Popular” label above it.
  5. Top Rated movies row should have a “Top Rated” label above it.
  6. 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.


  1. It should show the cover photo of the movie.
  2. It should show the poster of the movie.
  3. It should show the title of the movie.
  4. It should show the summary of the movie.
  5. It should show the rating of the movie.
  6. It should show the release date of the movie.


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:

  1. Offline Support
  2. Bookmark/Watchlist Feature
  3. TV Shows/Series
  4. Any MV* Architecture
  5. Dagger
  6. RxJava

Table of Contents

  1. Part 1 - Project Specifications
  2. Part 2 - Getting a TMDb API Key
  3. Part 3 - Movie List Using Retrofit and Glide
  4. Part 4 - Popular, Top Rated, and Upcoming Movies
  5. Part 5 - Movie Details
  6. Part 6 - What’s Next?
  7. Download eBook Version + Source Code

Let’s get started! Head right away to Part 2 - Getting a TMDb API Key.

7 ways to become a really good Android developer