The project is developed in Xcode 10.2.1, iOS 12 SDK, Swift 5 and minimum deployment target as iOS 10.
OS & Devices: iOS 10+, iPhone and iPad
Programming approach: ReactiveX using RxSwift and RxCocoa
Architecture: MVVM-C with Coordinator
Dependency Manager: Cocoapods
Dependecies: RxSwift, RealmSwift, Alamofire, AlamofireImage, ReachabilitySwift, NVActivityIndicatorView, XCDYouTubeKit & MaterialComponents/Snackbar
Core Modules: MCoreKit, MUIKit
Code documentation: Using jazzy Application DOCS, MCoreKit DOCS, MUIKit DOCS
Test using: XCTest and RxBlocking
Lint using: Swiftlint
Custom views:
Below is an overview of the Functionality implemented:
- Fetch and display the list of popular movies
- User can see details of the selected movie
- User can Watch trailer using In-App YouTube player
- Filter the movie list by searching on the title
- View the movie list and cached details, posters, etc.
This is a group of classes and extensions taken for commonly used functionality across diffent projects. This module is may not be specific to One App and can be used in other projects
This is also a group of classes and extensions but specific to the UI functionality
Written test case for Decoding, Stub API, Live API and Models only