├── MovieDetailsMVVM.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcuserdata │ └── sajjadsarkoobi.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── MovieDetailsMVVM ├── AppDelegate.swift ├── Classes │ └── Observable.swift ├── Controllers │ ├── DetailsMovieViewController │ │ ├── DetailsMovieViewController.swift │ │ └── DetailsMovieViewController.xib │ └── MainViewController │ │ ├── MainViewController+TableView.swift │ │ ├── MainViewController.swift │ │ └── MainViewController.xib ├── Extensions │ └── UIViewExtensions.swift ├── Info.plist ├── Model │ └── TrendingMovieModel.swift ├── Networking │ ├── APICaller.swift │ └── NetworkConstants.swift ├── Resources │ └── Assets.xcassets │ │ ├── AccentColor.colorset │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@2x-1.png │ │ ├── Icon-App-20x20@2x-2.png │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x-1.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@2x-1.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x-1.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ ├── Icon-App-83.5x83.5@2x.png │ │ └── ItunesArtwork@2x.png │ │ ├── Contents.json │ │ └── MovieDetails.imageset │ │ ├── Contents.json │ │ └── MovieDetails.png ├── View │ ├── Base.lproj │ │ └── LaunchScreen.storyboard │ └── MovieTableViewCell │ │ ├── MovieTableViewCell.swift │ │ └── MovieTableViewCell.xib └── ViewModel │ ├── DetailsMovieViewModel.swift │ ├── MainViewModel.swift │ └── MovieTableCellViewModel.swift ├── MovieDetailsMVVMTests └── MovieDetailsMVVMTests.swift ├── MovieDetailsMVVMUITests ├── MovieDetailsMVVMUITests.swift └── MovieDetailsMVVMUITestsLaunchTests.swift └── README.md /MovieDetailsMVVM.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /MovieDetailsMVVM.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /MovieDetailsMVVM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /MovieDetailsMVVM.xcodeproj/xcuserdata/sajjadsarkoobi.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM.xcodeproj/xcuserdata/sajjadsarkoobi.xcuserdatad/xcschemes/xcschememanagement.plist -------------------------------------------------------------------------------- /MovieDetailsMVVM/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/AppDelegate.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/Classes/Observable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Classes/Observable.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/Controllers/DetailsMovieViewController/DetailsMovieViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Controllers/DetailsMovieViewController/DetailsMovieViewController.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/Controllers/DetailsMovieViewController/DetailsMovieViewController.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Controllers/DetailsMovieViewController/DetailsMovieViewController.xib -------------------------------------------------------------------------------- /MovieDetailsMVVM/Controllers/MainViewController/MainViewController+TableView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Controllers/MainViewController/MainViewController+TableView.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/Controllers/MainViewController/MainViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Controllers/MainViewController/MainViewController.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/Controllers/MainViewController/MainViewController.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Controllers/MainViewController/MainViewController.xib -------------------------------------------------------------------------------- /MovieDetailsMVVM/Extensions/UIViewExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Extensions/UIViewExtensions.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Info.plist -------------------------------------------------------------------------------- /MovieDetailsMVVM/Model/TrendingMovieModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Model/TrendingMovieModel.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/Networking/APICaller.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Networking/APICaller.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/Networking/NetworkConstants.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Networking/NetworkConstants.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x-1.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x-2.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x-1.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x-1.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x-1.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/MovieDetails.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/MovieDetails.imageset/Contents.json -------------------------------------------------------------------------------- /MovieDetailsMVVM/Resources/Assets.xcassets/MovieDetails.imageset/MovieDetails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/Resources/Assets.xcassets/MovieDetails.imageset/MovieDetails.png -------------------------------------------------------------------------------- /MovieDetailsMVVM/View/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/View/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /MovieDetailsMVVM/View/MovieTableViewCell/MovieTableViewCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/View/MovieTableViewCell/MovieTableViewCell.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/View/MovieTableViewCell/MovieTableViewCell.xib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/View/MovieTableViewCell/MovieTableViewCell.xib -------------------------------------------------------------------------------- /MovieDetailsMVVM/ViewModel/DetailsMovieViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/ViewModel/DetailsMovieViewModel.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/ViewModel/MainViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/ViewModel/MainViewModel.swift -------------------------------------------------------------------------------- /MovieDetailsMVVM/ViewModel/MovieTableCellViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVM/ViewModel/MovieTableCellViewModel.swift -------------------------------------------------------------------------------- /MovieDetailsMVVMTests/MovieDetailsMVVMTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVMTests/MovieDetailsMVVMTests.swift -------------------------------------------------------------------------------- /MovieDetailsMVVMUITests/MovieDetailsMVVMUITests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVMUITests/MovieDetailsMVVMUITests.swift -------------------------------------------------------------------------------- /MovieDetailsMVVMUITests/MovieDetailsMVVMUITestsLaunchTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/MovieDetailsMVVMUITests/MovieDetailsMVVMUITestsLaunchTests.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sajjadsarkoobi/MovieDetailsMVVM/HEAD/README.md --------------------------------------------------------------------------------