├── .gitignore ├── LetsGitHubSearch.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcshareddata │ └── xcschemes │ └── LetsGitHubSearch.xcscheme ├── LetsGitHubSearch.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── LetsGitHubSearch ├── Resources │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ └── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard ├── Sources │ ├── Entry │ │ ├── AppDelegate.swift │ │ ├── AppDependency.swift │ │ └── main.swift │ ├── Models │ │ ├── Repository.swift │ │ └── RepositorySearchResult.swift │ ├── Protocols │ │ ├── FirebaseAnalyticsProtocol.swift │ │ ├── FirebaseAppProtocol.swift │ │ ├── SessionManagerProtocol.swift │ │ └── URLOpenerProtocol.swift │ ├── Services │ │ └── RepositoryService.swift │ └── ViewController │ │ └── SearchRepositoryViewController.swift └── Supporting Files │ ├── GoogleService-Info.plist │ └── Info.plist ├── LetsGitHubSearchTests ├── Sources │ ├── Entry │ │ └── AppDelegateTests.swift │ ├── Mocks │ │ ├── Networking │ │ │ └── SessionManagerStub.swift │ │ ├── Services │ │ │ ├── RepositoryServiceStub.swift │ │ │ └── TestAppDelegate.swift │ │ ├── TestError.swift │ │ └── Utils │ │ │ ├── FirebaseAnalyticsStub.swift │ │ │ ├── FirebaseAppStub.swift │ │ │ └── URLOpenerStub.swift │ ├── Services │ │ └── RepositoryServiceTests.swift │ └── ViewControllers │ │ └── SearchRepositoryViewControllerTests.swift └── Supporting Files │ └── Info.plist ├── Podfile ├── Podfile.lock └── README.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/.gitignore -------------------------------------------------------------------------------- /LetsGitHubSearch.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /LetsGitHubSearch.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /LetsGitHubSearch.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /LetsGitHubSearch.xcodeproj/xcshareddata/xcschemes/LetsGitHubSearch.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch.xcodeproj/xcshareddata/xcschemes/LetsGitHubSearch.xcscheme -------------------------------------------------------------------------------- /LetsGitHubSearch.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /LetsGitHubSearch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /LetsGitHubSearch/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /LetsGitHubSearch/Resources/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Resources/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /LetsGitHubSearch/Resources/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Resources/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /LetsGitHubSearch/Resources/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Resources/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Entry/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Entry/AppDelegate.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Entry/AppDependency.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Entry/AppDependency.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Entry/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Entry/main.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Models/Repository.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Models/Repository.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Models/RepositorySearchResult.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Models/RepositorySearchResult.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Protocols/FirebaseAnalyticsProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Protocols/FirebaseAnalyticsProtocol.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Protocols/FirebaseAppProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Protocols/FirebaseAppProtocol.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Protocols/SessionManagerProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Protocols/SessionManagerProtocol.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Protocols/URLOpenerProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Protocols/URLOpenerProtocol.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/Services/RepositoryService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/Services/RepositoryService.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Sources/ViewController/SearchRepositoryViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Sources/ViewController/SearchRepositoryViewController.swift -------------------------------------------------------------------------------- /LetsGitHubSearch/Supporting Files/GoogleService-Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Supporting Files/GoogleService-Info.plist -------------------------------------------------------------------------------- /LetsGitHubSearch/Supporting Files/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearch/Supporting Files/Info.plist -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/Entry/AppDelegateTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/Entry/AppDelegateTests.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/Mocks/Networking/SessionManagerStub.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/Mocks/Networking/SessionManagerStub.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/Mocks/Services/RepositoryServiceStub.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/Mocks/Services/RepositoryServiceStub.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/Mocks/Services/TestAppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/Mocks/Services/TestAppDelegate.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/Mocks/TestError.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/Mocks/TestError.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/Mocks/Utils/FirebaseAnalyticsStub.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/Mocks/Utils/FirebaseAnalyticsStub.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/Mocks/Utils/FirebaseAppStub.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/Mocks/Utils/FirebaseAppStub.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/Mocks/Utils/URLOpenerStub.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/Mocks/Utils/URLOpenerStub.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/Services/RepositoryServiceTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/Services/RepositoryServiceTests.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Sources/ViewControllers/SearchRepositoryViewControllerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Sources/ViewControllers/SearchRepositoryViewControllerTests.swift -------------------------------------------------------------------------------- /LetsGitHubSearchTests/Supporting Files/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/LetsGitHubSearchTests/Supporting Files/Info.plist -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/Podfile -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/Podfile.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devxoul/LetsGitHubSearch/HEAD/README.md --------------------------------------------------------------------------------