Connect with us


iOS Clean Architecture MVVM Template

iOS Project implemented with Clean Layered Architecture and MVVM. (Can be used as Template project by replacing item name “Movie”). More information in medium postMedium Post about Clean Architecture + MVVM.


  • Domain Layer = Entities + Use Cases + Repositories Interfaces
  • Data Repositories Layer = Repositories Implementations + API (Network) + Persistence DB
  • Presentation Layer (MVVM) = ViewModels + Views

Architecture concepts used here


  • Unit Tests with Quick and Nimble, and View Unit tests with iOSSnapshotTestCase
  • Unit Tests for Use Cases(Domain Layer), ViewModels(Presentation Layer), NetworkService(Infrastructure Layer)
  • UI test with XCUITests
  • Size Classes and UIStackView in Detail view
  • Dark Mode
  • SwiftUI example, demostration that presentation layer does not change, only UI (at least Xcode 11 required)
  • Pagination
iOS Clean Architecture MVVM at GitHub:
Platform: iOS
⭐️: 1.8K