Todo App using Clean Architecture and MVVM

Layers

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

Dependency Direction

Alt text

Includes

  • MVVM
  • DIContainer
  • FlowCoordinator
  • Programmatic UI without using XIB and Storyboard
  • Data binding using Observable without third-party libraries

References

Requirements

  • Xcode Version 13.0.0+ Swift 5.0+

iOS version support

  • iOS 13.0+

GitHub

View Github