├── .gitignore ├── LICENSE ├── README.md ├── Sample1A ├── AppDependencies.swift ├── Common │ ├── Entity │ │ └── GithubRepoEntity.swift │ ├── Error │ │ └── GithubAPIError.swift │ ├── Protocol │ │ ├── DependencyInjectable.swift │ │ └── UseCase.swift │ └── WebAPI │ │ └── Request │ │ └── GithubRepoSearchAPIRequest.swift ├── Info.plist ├── Modules │ ├── GithubReposDetail │ │ ├── Presenter │ │ │ └── GithubRepoDetailPresenter.swift │ │ ├── Router │ │ │ └── GithubRepoDetailRouter.swift │ │ └── View │ │ │ ├── GithubRepoDetail.storyboard │ │ │ └── GithubRepoDetailViewController.swift │ └── GithubReposSearch │ │ ├── Interactor │ │ ├── GithubRepoRecomendInteractor.swift │ │ ├── GithubRepoSearchInteractor.swift │ │ └── GithubRepoSortInteractor.swift │ │ ├── Presenter │ │ ├── GithubRepoSearchPresenter.swift │ │ └── GithubRepoViewData.swift │ │ ├── Router │ │ └── GithubRepoSearchRouter.swift │ │ └── View │ │ ├── GithubRepoSearch.storyboard │ │ └── GithubRepoSearchViewController.swift └── Sample1A.h ├── Sample1ATests ├── AppTestDependencies.swift ├── GithubRepoDetail │ └── GithubRepoDetailPresenterTests.swift ├── GithubRepoSearch │ ├── GithubRepoSearchPresenterTests.swift │ ├── GithubRepoSearchRouterTests.swift │ └── GithubRepoSortInteractorTests.swift └── Info.plist ├── VIPERBook1Sample.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ └── yimajo.xcuserdatad │ │ └── IDEFindNavigatorScopes.plist ├── xcshareddata │ └── xcschemes │ │ └── VIPERBook1Sample.xcscheme └── xcuserdata │ └── yimajo.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ └── xcschememanagement.plist └── VIPERBook1Sample ├── AppDelegate.swift ├── Assets.xcassets ├── AppIcon.appiconset │ └── Contents.json └── Contents.json ├── Base.lproj ├── LaunchScreen.storyboard └── Main.storyboard ├── Info.plist └── MainViewController.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/README.md -------------------------------------------------------------------------------- /Sample1A/AppDependencies.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/AppDependencies.swift -------------------------------------------------------------------------------- /Sample1A/Common/Entity/GithubRepoEntity.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Common/Entity/GithubRepoEntity.swift -------------------------------------------------------------------------------- /Sample1A/Common/Error/GithubAPIError.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Common/Error/GithubAPIError.swift -------------------------------------------------------------------------------- /Sample1A/Common/Protocol/DependencyInjectable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Common/Protocol/DependencyInjectable.swift -------------------------------------------------------------------------------- /Sample1A/Common/Protocol/UseCase.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Common/Protocol/UseCase.swift -------------------------------------------------------------------------------- /Sample1A/Common/WebAPI/Request/GithubRepoSearchAPIRequest.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Common/WebAPI/Request/GithubRepoSearchAPIRequest.swift -------------------------------------------------------------------------------- /Sample1A/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Info.plist -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposDetail/Presenter/GithubRepoDetailPresenter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposDetail/Presenter/GithubRepoDetailPresenter.swift -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposDetail/Router/GithubRepoDetailRouter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposDetail/Router/GithubRepoDetailRouter.swift -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposDetail/View/GithubRepoDetail.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposDetail/View/GithubRepoDetail.storyboard -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposDetail/View/GithubRepoDetailViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposDetail/View/GithubRepoDetailViewController.swift -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposSearch/Interactor/GithubRepoRecomendInteractor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposSearch/Interactor/GithubRepoRecomendInteractor.swift -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposSearch/Interactor/GithubRepoSearchInteractor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposSearch/Interactor/GithubRepoSearchInteractor.swift -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposSearch/Interactor/GithubRepoSortInteractor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposSearch/Interactor/GithubRepoSortInteractor.swift -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposSearch/Presenter/GithubRepoSearchPresenter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposSearch/Presenter/GithubRepoSearchPresenter.swift -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposSearch/Presenter/GithubRepoViewData.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposSearch/Presenter/GithubRepoViewData.swift -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposSearch/Router/GithubRepoSearchRouter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposSearch/Router/GithubRepoSearchRouter.swift -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposSearch/View/GithubRepoSearch.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposSearch/View/GithubRepoSearch.storyboard -------------------------------------------------------------------------------- /Sample1A/Modules/GithubReposSearch/View/GithubRepoSearchViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Modules/GithubReposSearch/View/GithubRepoSearchViewController.swift -------------------------------------------------------------------------------- /Sample1A/Sample1A.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1A/Sample1A.h -------------------------------------------------------------------------------- /Sample1ATests/AppTestDependencies.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1ATests/AppTestDependencies.swift -------------------------------------------------------------------------------- /Sample1ATests/GithubRepoDetail/GithubRepoDetailPresenterTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1ATests/GithubRepoDetail/GithubRepoDetailPresenterTests.swift -------------------------------------------------------------------------------- /Sample1ATests/GithubRepoSearch/GithubRepoSearchPresenterTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1ATests/GithubRepoSearch/GithubRepoSearchPresenterTests.swift -------------------------------------------------------------------------------- /Sample1ATests/GithubRepoSearch/GithubRepoSearchRouterTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1ATests/GithubRepoSearch/GithubRepoSearchRouterTests.swift -------------------------------------------------------------------------------- /Sample1ATests/GithubRepoSearch/GithubRepoSortInteractorTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1ATests/GithubRepoSearch/GithubRepoSortInteractorTests.swift -------------------------------------------------------------------------------- /Sample1ATests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/Sample1ATests/Info.plist -------------------------------------------------------------------------------- /VIPERBook1Sample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /VIPERBook1Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /VIPERBook1Sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /VIPERBook1Sample.xcodeproj/project.xcworkspace/xcuserdata/yimajo.xcuserdatad/IDEFindNavigatorScopes.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample.xcodeproj/project.xcworkspace/xcuserdata/yimajo.xcuserdatad/IDEFindNavigatorScopes.plist -------------------------------------------------------------------------------- /VIPERBook1Sample.xcodeproj/xcshareddata/xcschemes/VIPERBook1Sample.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample.xcodeproj/xcshareddata/xcschemes/VIPERBook1Sample.xcscheme -------------------------------------------------------------------------------- /VIPERBook1Sample.xcodeproj/xcuserdata/yimajo.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample.xcodeproj/xcuserdata/yimajo.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist -------------------------------------------------------------------------------- /VIPERBook1Sample.xcodeproj/xcuserdata/yimajo.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample.xcodeproj/xcuserdata/yimajo.xcuserdatad/xcschemes/xcschememanagement.plist -------------------------------------------------------------------------------- /VIPERBook1Sample/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample/AppDelegate.swift -------------------------------------------------------------------------------- /VIPERBook1Sample/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /VIPERBook1Sample/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /VIPERBook1Sample/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /VIPERBook1Sample/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /VIPERBook1Sample/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample/Info.plist -------------------------------------------------------------------------------- /VIPERBook1Sample/MainViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yimajo/VIPERBook1Samples/HEAD/VIPERBook1Sample/MainViewController.swift --------------------------------------------------------------------------------