├── .gitignore ├── LICENSE ├── Library ├── ApiSession │ ├── ApiCookie.swift │ ├── ApiError.swift │ ├── ApiRequestMethod.swift │ ├── ApiResponse.swift │ ├── ApiSession+Extensions.swift │ └── ApiSession.swift ├── Extensions │ ├── Data+Extensions.swift │ ├── IndexPath+Extension.swift │ └── String+Extensions.swift ├── Protocols │ └── ServiceListener.swift ├── Tools │ ├── Localizable.swift │ └── Log.swift └── UIKit+Layout │ ├── UIStackView+Layout.swift │ └── UIView+Layout.swift ├── README.md ├── SwapiMVVM.xcodeproj ├── project.pbxproj └── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ └── IDEWorkspaceChecks.plist └── SwapiMVVM ├── Application ├── AppDelegate.swift ├── DependencyManager.swift ├── Info.plist └── LaunchScreen.storyboard ├── Common └── FlowControllers │ └── FlowController.swift ├── Modules ├── Alert │ ├── AlertFactory.swift │ ├── AlertFlowController.swift │ └── AlertViewController.swift ├── MainScreen │ ├── MainScreenFactory.swift │ ├── MainScreenFlowController.swift │ ├── MainScreenViewController.swift │ └── MainScreenViewModel.swift └── People │ ├── PeopleFactory.swift │ ├── PeopleFlowController.swift │ ├── PeopleItemCell.swift │ ├── PeopleViewController.swift │ └── PeopleViewModel.swift ├── Resources ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json └── Localizable.strings └── Services └── SwapiService ├── SwapiGender.swift ├── SwapiListItemPeople.swift ├── SwapiListItemProtocol.swift ├── SwapiResponseList.swift ├── SwapiResponseRoot.swift └── SwapiService.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/LICENSE -------------------------------------------------------------------------------- /Library/ApiSession/ApiCookie.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/ApiSession/ApiCookie.swift -------------------------------------------------------------------------------- /Library/ApiSession/ApiError.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/ApiSession/ApiError.swift -------------------------------------------------------------------------------- /Library/ApiSession/ApiRequestMethod.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/ApiSession/ApiRequestMethod.swift -------------------------------------------------------------------------------- /Library/ApiSession/ApiResponse.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/ApiSession/ApiResponse.swift -------------------------------------------------------------------------------- /Library/ApiSession/ApiSession+Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/ApiSession/ApiSession+Extensions.swift -------------------------------------------------------------------------------- /Library/ApiSession/ApiSession.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/ApiSession/ApiSession.swift -------------------------------------------------------------------------------- /Library/Extensions/Data+Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/Extensions/Data+Extensions.swift -------------------------------------------------------------------------------- /Library/Extensions/IndexPath+Extension.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/Extensions/IndexPath+Extension.swift -------------------------------------------------------------------------------- /Library/Extensions/String+Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/Extensions/String+Extensions.swift -------------------------------------------------------------------------------- /Library/Protocols/ServiceListener.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/Protocols/ServiceListener.swift -------------------------------------------------------------------------------- /Library/Tools/Localizable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/Tools/Localizable.swift -------------------------------------------------------------------------------- /Library/Tools/Log.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/Tools/Log.swift -------------------------------------------------------------------------------- /Library/UIKit+Layout/UIStackView+Layout.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/UIKit+Layout/UIStackView+Layout.swift -------------------------------------------------------------------------------- /Library/UIKit+Layout/UIView+Layout.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/Library/UIKit+Layout/UIView+Layout.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/README.md -------------------------------------------------------------------------------- /SwapiMVVM.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /SwapiMVVM.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /SwapiMVVM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /SwapiMVVM/Application/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Application/AppDelegate.swift -------------------------------------------------------------------------------- /SwapiMVVM/Application/DependencyManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Application/DependencyManager.swift -------------------------------------------------------------------------------- /SwapiMVVM/Application/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Application/Info.plist -------------------------------------------------------------------------------- /SwapiMVVM/Application/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Application/LaunchScreen.storyboard -------------------------------------------------------------------------------- /SwapiMVVM/Common/FlowControllers/FlowController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Common/FlowControllers/FlowController.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/Alert/AlertFactory.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/Alert/AlertFactory.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/Alert/AlertFlowController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/Alert/AlertFlowController.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/Alert/AlertViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/Alert/AlertViewController.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/MainScreen/MainScreenFactory.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/MainScreen/MainScreenFactory.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/MainScreen/MainScreenFlowController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/MainScreen/MainScreenFlowController.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/MainScreen/MainScreenViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/MainScreen/MainScreenViewController.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/MainScreen/MainScreenViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/MainScreen/MainScreenViewModel.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/People/PeopleFactory.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/People/PeopleFactory.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/People/PeopleFlowController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/People/PeopleFlowController.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/People/PeopleItemCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/People/PeopleItemCell.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/People/PeopleViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/People/PeopleViewController.swift -------------------------------------------------------------------------------- /SwapiMVVM/Modules/People/PeopleViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Modules/People/PeopleViewModel.swift -------------------------------------------------------------------------------- /SwapiMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /SwapiMVVM/Resources/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Resources/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /SwapiMVVM/Resources/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Resources/Localizable.strings -------------------------------------------------------------------------------- /SwapiMVVM/Services/SwapiService/SwapiGender.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Services/SwapiService/SwapiGender.swift -------------------------------------------------------------------------------- /SwapiMVVM/Services/SwapiService/SwapiListItemPeople.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Services/SwapiService/SwapiListItemPeople.swift -------------------------------------------------------------------------------- /SwapiMVVM/Services/SwapiService/SwapiListItemProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Services/SwapiService/SwapiListItemProtocol.swift -------------------------------------------------------------------------------- /SwapiMVVM/Services/SwapiService/SwapiResponseList.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Services/SwapiService/SwapiResponseList.swift -------------------------------------------------------------------------------- /SwapiMVVM/Services/SwapiService/SwapiResponseRoot.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Services/SwapiService/SwapiResponseRoot.swift -------------------------------------------------------------------------------- /SwapiMVVM/Services/SwapiService/SwapiService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/absoftware/abswift-swapi-mvvm/HEAD/SwapiMVVM/Services/SwapiService/SwapiService.swift --------------------------------------------------------------------------------