Swift, UIkit, Anchorage, Clean Architecture and MVVM + Coordinators
About the app
iOS project realized with Swift, UIkit, Anchorage, Clean Architecture and MVVM + Coordinators patterns.
Download video demo
Architecture
The app is built with Clean Architecture and use the MVVM pattern for the presentation layer. The app also use the Coordinators pattern to handle the navigation between controllers. A Main Container resolves the DI between Data sources, Repositories and UseCases. The app implements the flow (View + ViewController + ViewModel) -> UseCase -> Repository -> DataSource. The ViewModel informs the view-controller using a state. The app use the library Anchorage to improve and fasts the UI build process.
Folder Structure
- App (AppDelegate and LaunchScreen)
- Data (network manager)
- Core (main container and helper/common classes)
- Domain (entities models, data models, usecases and repositories)
- Views (viewmodels, viewcontrollers, views and assemblers)
- Navigation (coordinators)