Develop new project in Swift using RxSwift, Moya with MVVM-C Design pattern. I develop this project with TDD, Every view model has unit testing code coverage up to 90%, DevOps with Gitlab-CI. **MVVMC Design Pattern** - Using RxSwift and RxCocoa for data binding. - Data Binding: using BehaviorRelay for data binding, headlinesBR & isLoadingBR. - Dependency Injection: switching mock APIManager environment(for unit testing) or real APIManager environment. --- **API Layer** - Moya/RxSwift: Using moya mock data for Unit Testing. - ServerConfig: The base endpoint and other api paths. - APIBaseTargetType: Base TargetType for Moya. - APIResponseModel: Api response Model. - APINewsProvider: The base of NewsAPI. - HeadlinesAPI: The Api for getting Headlines info. *reference* *https://medium.com/@davidlin_98861/華麗的-network-layer-c5c664dcca47* --- **Coordinator** - AppCoordinator: using in AppDelegate for setting RootViewController in this case ListViewController. - ListCoordinator: setting the Dependency Injection of viewModel for ListViewController, and handle navigation push. - DetailCoordinator: *reference* *https://github.com/onmyway133/blog/issues/106* --- **DataCenter** - using Realm for DB. - Saving headline to Realm database. - retrieve headline from Realm database. --- **Unit Testing** - Project Code Coverage average: 53.5% - ViewModel: Coverage average: 80% up (ListVM) --- **Coding Style** - using SwiftLint ---
Published: November 05, 2019
Build Your Professional Network
Click icon on the company page or under talent search engine to start the conversation.