├── .gitignore ├── README.md └── YouTubeClone ├── GeneralAssets ├── YouTube.postman_collection.json └── youtube-clone-design.zip ├── Podfile ├── Podfile.lock ├── YouTubeClone.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcshareddata │ └── xcschemes │ └── YouTubeClone.xcscheme ├── YouTubeClone.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── YouTubeClone ├── About │ ├── AboutViewController.swift │ └── AboutViewController.xib ├── AppDelegate.swift ├── Assets.xcassets │ ├── 180.imageset │ │ ├── 180.png │ │ └── Contents.json │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── 1024.png │ │ ├── 114.png │ │ ├── 120.png │ │ ├── 180.png │ │ ├── 29.png │ │ ├── 40.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 60.png │ │ ├── 80.png │ │ ├── 87.png │ │ └── Contents.json │ ├── Colors │ │ ├── Contents.json │ │ ├── backgroundColor.colorset │ │ │ └── Contents.json │ │ ├── grayColor.colorset │ │ │ └── Contents.json │ │ └── whiteColor.colorset │ │ │ └── Contents.json │ ├── Contents.json │ ├── channelBanner.imageset │ │ ├── Contents.json │ │ └── channelBanner.png │ ├── channelsProfile.imageset │ │ ├── Contents.json │ │ └── channelsProfile.jpeg │ ├── icons │ │ ├── Contents.json │ │ ├── bell.imageset │ │ │ ├── Contents.json │ │ │ ├── bell-1.png │ │ │ ├── bell-2.png │ │ │ └── bell.png │ │ ├── cast.imageset │ │ │ ├── Contents.json │ │ │ ├── cast-1.png │ │ │ ├── cast-2.png │ │ │ └── cast.png │ │ ├── dots.imageset │ │ │ ├── Contents.json │ │ │ ├── dots-1.png │ │ │ ├── dots-2.png │ │ │ └── dots.png │ │ └── magnifying.imageset │ │ │ ├── Contents.json │ │ │ └── magnifying.png │ └── maxresdefault.imageset │ │ ├── Contents.json │ │ └── maxresdefault.jpeg ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Channels │ ├── ChannelViewController.swift │ └── ChannelViewController.xib ├── Home │ ├── Model │ │ └── Provider │ │ │ ├── HomeProvider.swift │ │ │ └── HomeProviderMock.swift │ ├── Presenter │ │ └── HomePresenter.swift │ └── View │ │ ├── BottomSheet │ │ ├── BottomSheetViewController.swift │ │ └── BottomSheetViewController.xib │ │ ├── CustomCells │ │ ├── ChannelCell.swift │ │ ├── ChannelCell.xib │ │ ├── PlaylistCell.swift │ │ ├── PlaylistCell.xib │ │ ├── SectionTitleView.swift │ │ ├── VideoCell.swift │ │ └── VideoCell.xib │ │ ├── HomeViewController.swift │ │ └── HomeViewController.xib ├── Info.plist ├── Main │ ├── MainViewController.swift │ ├── RootPageViewController.swift │ └── TabsView │ │ ├── Cell │ │ ├── OptionCell.swift │ │ └── OptionCell.xib │ │ └── TabsView.swift ├── Model │ ├── ChannelModel.swift │ ├── PlaylistItemsModel.swift │ ├── PlaylistModel.swift │ └── VideoModel.swift ├── PlayVideo │ ├── Model │ │ └── Provider │ │ │ ├── PlayVideoProvider.swift │ │ │ └── PlayVideoProviderMock.swift │ ├── Presenter │ │ └── PlayVideoPresenter.swift │ └── View │ │ ├── Cells │ │ ├── VideoFullWidthCell.swift │ │ ├── VideoFullWidthCell.xib │ │ ├── VideoHeaderCell.swift │ │ └── VideoHeaderCell.xib │ │ ├── CustomViews │ │ └── ButtonsIconList.swift │ │ ├── PlayVideoViewController.swift │ │ └── PlayVideoViewController.xib ├── Playlists │ ├── PlaylistsViewController.swift │ └── PlaylistsViewController.xib ├── SceneDelegate.swift ├── ServiceLayer │ ├── NetworkError.swift │ ├── RequestModel.swift │ └── ServiceLayer.swift ├── Utils │ ├── BaseViewController.swift │ ├── Constants.swift │ ├── Extensions │ │ ├── UIColor+Extension.swift │ │ ├── UIImage+Extension.swift │ │ ├── UILabel+Extension.swift │ │ ├── UITableView+Extension.swift │ │ └── UIView+Extension.swift │ ├── Mock │ │ ├── Channel.json │ │ ├── PlaylistItems.json │ │ ├── Playlists.json │ │ ├── SearchVideos.json │ │ ├── VideoList.json │ │ └── VideoOnlyOne.json │ ├── MockManager.swift │ └── Utils.swift ├── Videos │ ├── Model │ │ └── Provider │ │ │ ├── VideosProvider.swift │ │ │ └── VideosProviderMock.swift │ ├── Presenter │ │ └── VideosPresenter.swift │ ├── VideosViewController.swift │ └── VideosViewController.xib └── ViewController.swift └── YouTubeCloneTests └── PlayVideoPresenterTests.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/README.md -------------------------------------------------------------------------------- /YouTubeClone/GeneralAssets/YouTube.postman_collection.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/GeneralAssets/YouTube.postman_collection.json -------------------------------------------------------------------------------- /YouTubeClone/GeneralAssets/youtube-clone-design.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/GeneralAssets/youtube-clone-design.zip -------------------------------------------------------------------------------- /YouTubeClone/Podfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/Podfile -------------------------------------------------------------------------------- /YouTubeClone/Podfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/Podfile.lock -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone.xcodeproj/xcshareddata/xcschemes/YouTubeClone.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone.xcodeproj/xcshareddata/xcschemes/YouTubeClone.xcscheme -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/About/AboutViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/About/AboutViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/About/AboutViewController.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/About/AboutViewController.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/AppDelegate.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/180.imageset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/180.imageset/180.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/180.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/180.imageset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/Colors/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/Colors/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/Colors/backgroundColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/Colors/backgroundColor.colorset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/Colors/grayColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/Colors/grayColor.colorset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/Colors/whiteColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/Colors/whiteColor.colorset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/channelBanner.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/channelBanner.imageset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/channelBanner.imageset/channelBanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/channelBanner.imageset/channelBanner.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/channelsProfile.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/channelsProfile.imageset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/channelsProfile.imageset/channelsProfile.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/channelsProfile.imageset/channelsProfile.jpeg -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/bell.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/bell.imageset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/bell.imageset/bell-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/bell.imageset/bell-1.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/bell.imageset/bell-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/bell.imageset/bell-2.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/bell.imageset/bell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/bell.imageset/bell.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/cast.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/cast.imageset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/cast.imageset/cast-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/cast.imageset/cast-1.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/cast.imageset/cast-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/cast.imageset/cast-2.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/cast.imageset/cast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/cast.imageset/cast.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/dots.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/dots.imageset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/dots.imageset/dots-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/dots.imageset/dots-1.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/dots.imageset/dots-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/dots.imageset/dots-2.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/dots.imageset/dots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/dots.imageset/dots.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/magnifying.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/magnifying.imageset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/icons/magnifying.imageset/magnifying.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/icons/magnifying.imageset/magnifying.png -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/maxresdefault.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/maxresdefault.imageset/Contents.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Assets.xcassets/maxresdefault.imageset/maxresdefault.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Assets.xcassets/maxresdefault.imageset/maxresdefault.jpeg -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Channels/ChannelViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Channels/ChannelViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Channels/ChannelViewController.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Channels/ChannelViewController.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/Model/Provider/HomeProvider.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/Model/Provider/HomeProvider.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/Model/Provider/HomeProviderMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/Model/Provider/HomeProviderMock.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/Presenter/HomePresenter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/Presenter/HomePresenter.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/BottomSheet/BottomSheetViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/BottomSheet/BottomSheetViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/BottomSheet/BottomSheetViewController.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/BottomSheet/BottomSheetViewController.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/CustomCells/ChannelCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/CustomCells/ChannelCell.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/CustomCells/ChannelCell.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/CustomCells/ChannelCell.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/CustomCells/PlaylistCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/CustomCells/PlaylistCell.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/CustomCells/PlaylistCell.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/CustomCells/PlaylistCell.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/CustomCells/SectionTitleView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/CustomCells/SectionTitleView.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/CustomCells/VideoCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/CustomCells/VideoCell.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/CustomCells/VideoCell.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/CustomCells/VideoCell.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/HomeViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/HomeViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Home/View/HomeViewController.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Home/View/HomeViewController.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Info.plist -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Main/MainViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Main/MainViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Main/RootPageViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Main/RootPageViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Main/TabsView/Cell/OptionCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Main/TabsView/Cell/OptionCell.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Main/TabsView/Cell/OptionCell.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Main/TabsView/Cell/OptionCell.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Main/TabsView/TabsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Main/TabsView/TabsView.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Model/ChannelModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Model/ChannelModel.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Model/PlaylistItemsModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Model/PlaylistItemsModel.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Model/PlaylistModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Model/PlaylistModel.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Model/VideoModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Model/VideoModel.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/Model/Provider/PlayVideoProvider.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/Model/Provider/PlayVideoProvider.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/Model/Provider/PlayVideoProviderMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/Model/Provider/PlayVideoProviderMock.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/Presenter/PlayVideoPresenter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/Presenter/PlayVideoPresenter.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/View/Cells/VideoFullWidthCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/View/Cells/VideoFullWidthCell.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/View/Cells/VideoFullWidthCell.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/View/Cells/VideoFullWidthCell.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/View/Cells/VideoHeaderCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/View/Cells/VideoHeaderCell.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/View/Cells/VideoHeaderCell.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/View/Cells/VideoHeaderCell.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/View/CustomViews/ButtonsIconList.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/View/CustomViews/ButtonsIconList.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/View/PlayVideoViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/View/PlayVideoViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/PlayVideo/View/PlayVideoViewController.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/PlayVideo/View/PlayVideoViewController.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Playlists/PlaylistsViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Playlists/PlaylistsViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Playlists/PlaylistsViewController.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Playlists/PlaylistsViewController.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/SceneDelegate.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/ServiceLayer/NetworkError.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/ServiceLayer/NetworkError.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/ServiceLayer/RequestModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/ServiceLayer/RequestModel.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/ServiceLayer/ServiceLayer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/ServiceLayer/ServiceLayer.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/BaseViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/BaseViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Constants.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Constants.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Extensions/UIColor+Extension.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Extensions/UIColor+Extension.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Extensions/UIImage+Extension.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Extensions/UIImage+Extension.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Extensions/UILabel+Extension.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Extensions/UILabel+Extension.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Extensions/UITableView+Extension.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Extensions/UITableView+Extension.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Extensions/UIView+Extension.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Extensions/UIView+Extension.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Mock/Channel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Mock/Channel.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Mock/PlaylistItems.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Mock/PlaylistItems.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Mock/Playlists.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Mock/Playlists.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Mock/SearchVideos.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Mock/SearchVideos.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Mock/VideoList.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Mock/VideoList.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Mock/VideoOnlyOne.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Mock/VideoOnlyOne.json -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/MockManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/MockManager.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Utils/Utils.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Utils/Utils.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Videos/Model/Provider/VideosProvider.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Videos/Model/Provider/VideosProvider.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Videos/Model/Provider/VideosProviderMock.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Videos/Model/Provider/VideosProviderMock.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Videos/Presenter/VideosPresenter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Videos/Presenter/VideosPresenter.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Videos/VideosViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Videos/VideosViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/Videos/VideosViewController.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/Videos/VideosViewController.xib -------------------------------------------------------------------------------- /YouTubeClone/YouTubeClone/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeClone/ViewController.swift -------------------------------------------------------------------------------- /YouTubeClone/YouTubeCloneTests/PlayVideoPresenterTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorroldan-dev/YouTubeClone/HEAD/YouTubeClone/YouTubeCloneTests/PlayVideoPresenterTests.swift --------------------------------------------------------------------------------