Ios Clean Architecture Mvvm

Template iOS app using Clean Architecture and MVVM. Includes DIContainer, FlowCoordinator, DTO, Response Caching and one of the views in SwiftUI
Alternatives To Ios Clean Architecture Mvvm
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Ios Clean Architecture Mvvm3,266
4 days agoSwift
Template iOS app using Clean Architecture and MVVM. Includes DIContainer, FlowCoordinator, DTO, Response Caching and one of the views in SwiftUI
Ios Learning Materials2,378
5 months ago1mitSwift
📚 Curated list of articles, tutorials and repos that may help you dig a little bit deeper into iOS [and Apple Platforms].
Flutter Architecture Blueprints1,308
2 years ago30mitDart
Flutter Architecture Blueprints is a project that introduces MVVM architecture and project structure approaches to developing Flutter apps.
Expenso Ios637
a day ago7apache-2.0Swift
A Simple Expense Tracker App built to demonstrate the use of SwiftUI, CoreData, Charts, Biometrics (Face & Touch ID), Export CSV and MVVM Architecture.
3 years ago47March 17, 20194mitObjective-C
🚀 A seamless framework for build app from MVC, MVVM, VIPER (etc.) design pattern in iOS world. (OC & Swift)
Wiggles Ios194
8 months agoapache-2.0Swift
Beautiful Puppy adoption app built to Demonstrate the SwiftUI and MVVM Architecture
Twitimer Ios189
2 years ago1agpl-3.0Swift
App iOS correspondiente al proyecto de la comunidad MoureDev
4 years ago1February 13, 20192mitSwift
Protocols that help make your MVVM setup more consistent
4 years ago21otherSwift
Cross-platform MVVM in Swift
Mvvm Ac99
4 years agoSwift
Xcode 10 Template For MVVM
Alternatives To Ios Clean Architecture Mvvm
Select To Compare

Alternative Project Comparisons

Template iOS App using Clean Architecture and MVVM

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

Alt text


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

Dependency Direction

Alt text

Note: Domain Layer should not include anything from other layers(e.g Presentation — UIKit or SwiftUI or Data Layer — Mapping Codable)

Architecture concepts used here


  • Pagination
  • Unit Tests for Use Cases(Domain Layer), ViewModels(Presentation Layer), NetworkService(Infrastructure Layer)
  • Dark Mode
  • Size Classes and UIStackView in Detail view
  • SwiftUI example, demostration that presentation layer does not change, only UI (at least Xcode 11 required)


If you would like to reuse Networking from this example project as repository I made it availabe here

Views in Code vs Storyboard

This repository uses Storyboards (except one view written in SwiftUI). There is another similar repository but instead of using Storyboards, all Views are written in Code. It also uses UITableViewDiffableDataSource: iOS-Clean-Architecture-MVVM-Views-In-Code

How to use app

To search a movie, write a name of a movie inside searchbar and hit search button. There are two network calls: request movies and request poster images. Every successful search query is stored persistently.


  • Xcode Version 11.2.1+ Swift 5.0+
Popular Mvvm Projects
Popular Xcode Projects
Popular Software Architecture Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Mvvm Architecture
Ios Swift