A small app (written in Swift) to demonstrate the MVVM architecture in the iOS development.
This repository served us for more than three long years, during which the libraries, the tech-stack get obsoleted / new tech came out. The code is updated, but isn't encouraged to study from it. There will be a new repo with an updated architecture, tech-stack and dependencies, with an updated knowledge of course. Stay tuned!
It contains some well-known and well-tested external libraries:
- networking: Alamofire, Moya, Just
- dependency injection: Swinject
- images: Kingfisher, SDWebImage, Nuke
- persistence: Realm
- transitions: DisplayLink, SkeletonUI
- animations: Lottie
- standard: SwiftUI, Combine
The app is designed with the Separation of Concern (SoC) and SOLID principles. It's made by the use of XCode 15+, Swift 5.9+, iOS 16+ with the newest SwiftUI framework and SPM (Swift Package Manager). The main goal is to show a really simple MVVM architectural pattern in practice. If you are interested you can take a look at my other repos as well.
The app contains a lot of comments, so it's easy to pick up the thread. If you have any suggestions, please contact me!
Tests and previews will be coming in the near future.