An iOS Movie App + MVVM Architecture

App Demo


  • Allow to sort movie list by ratings, release date and alphabetical
  • Enable to see movie details (Poster, Synopsis, Genres, Language) and book movie from vendor website
  • Use Dependency Injection to pass data between view controllers
  • Model-View-ViewModel(MVVM) architecure
  • Add basic unit test cases in-app
  • Use protocol to decouple singleton in URLSession


  • UIKit
  • XCTest
  • WebKit

What did I learn

  1. Apply pagination with API request
  2. Implement Webview in-app
  3. Design basic unit test cases for unit testing

App Screenshots

Home Movie Details Movie Booking

App User Flow


View Github