Netflix application clone

Educational project to get hang of UIKit.


Used technologies

  • UIKit
  • URLSession
  • CoreData

Development overview

  • MVVM architecture
  • Features used: GCD, Notification Center
  • 3rd party frameworks used: SDWebImage
  • APIs used: TMDB API, YouTube API

The app has been written according to a tutorial, though some improvements have been implemented.


You might need VPN and new API keys to test the app yourself.


Since the TMDB is not available in Russia, you will need VPN to get proper experience.

API keys

If current API keys have expired, you will need to get your own ones.

TMDB: head to TMDB API, register an account, press ‘get API key’ button and paste it into Managers/APICaller.swift/struct Constants/tmbdApiKey


  • Head to Google Developers Console

  • Register a developer account

  • Register new project

  • Head to ‘Enabled APIs & services’ tab and enable ‘YouTube Data Api v3’

  • Head to ‘Cridentials’ tab, create an API key and paste it into Managers/APICaller.swift/struct Constants/googleApiKey

Application overview

The user is able to view top rated, upcoming, popular movies and TVs.

By tapping on a poster, the user will be presented with title preview, where title’s overview and trailer are shown.

By long tapping on a poster, a title can be fakely downloaded (shows up in ‘Downloads’ tab and stays until deletion, even if the app is closed and reopened).

The user can also perform search and preview found titles.


View Github