Build Fandango Clone in SwiftUI, Combine, iOS 14

Build complete movies app similar to Flixter’s movies app or Fandango app from start to finish in SwiftUI

Best way to learn is to build something from start to finish so in this course we will follow the same principal.

What you’ll learn

  • SwiftUI.
  • Combine.
  • Cobine enabled network manager.
  • Alamofire.
  • UrlSession Publishers.

Course Content

  • Introduction –> 1 lecture • 15min.
  • Environment Setup –> 2 lectures • 19min.
  • App Creation –> 10 lectures • 2hr 38min.

Build Fandango Clone in SwiftUI, Combine, iOS 14


  • Knowledge of Xcode.
  • Knowledge of Swift.
  • Knowledge of SwiftUI.

Best way to learn is to build something from start to finish so in this course we will follow the same principal.

We will be building entire movies app from scratch, you will learn to build out generic network manager that can be used to download any api response and convert that into codable object. You will learn to use Alamofire which will be used in creation of generic network manager.

You will also learn as how to use Swift Package Manager.

You will create your own custom network image view using combine and cache that image using NSCache. This control will download image from a given URL so you don’t have to rely of heavy, slow image downloading libraries.


You will learn as how to compose SwiftUI views and use view composition technique to build your UI in SwiftUI. You will learn many different built in views like TabView, Stacks, ScrollViews, Images etc.

You will use 100s of view modifiers to shape your UI the way you want to and also learn about navigation view appearance customization.

We will be using segmented controls and use search bars to implement context based search for movies along with several other learning techniques. Here are the learning objectives for the course.


Generic network manager for API calls

Swift package manager use to include Alamofire (not needed as URLSession is capable of doing everything)

Use of combine to make API calls


Network image loader using Combine

Image caching using NSCache

Custom view to load network images and have placeholder capability


SwiftUI layout and view composition techniques

Use of various different views like TabView, VStack, Images etc.

Use of 100s of view modifiers present in SwiftUI

Customization of navigation view appearance

Use of segmented control

Use of Form view

Use of List, ForEach and custom cell for list

List button and background customization

Mini circular progress graph

Use of ScrollView to create horizontally scrollable cells

List appearance customizations

GeometryReader use to create custom carousal view with center snap capability

Presenting and dismissing Sheets

Code and folder structure