DemoSwiftUIViper
iOS App Demo with SwitUI + Viper + Combine
DemoSwiftUIViper

Download ZIP
I chose this configuration of architecture:
- Swift Package Manage: It is a tool for managing the distribution of Swift code.
- VIPER: It supply decouple the code for reusability and testability
- SwiftUI: it is the lastest interface technology of Apple
- Combine: it is reactive programming framework.
- SnapshotTest: It allows to test very easily.
Another architecture alternative I considered is MVVM, easier and simpler of implement
I would improve if I had more time:
- Improve Unit Tests
- Integration Sourcery for AutoMockable protocols
- API Server Mock Responses