- Swift 5.0+
- Xcode 11.5+
- iOS 13.0+
- RxSwift: Reactive framework
If this is your first time encountering swift/ios development, please follow the instructions to setup Xcode and Swift on your Mac. And to setup cocoapods for dependency management, make use of CocoaPods -checkout Master branch to run latest version
- Open the project by double clicking the
IMDB.xcworkspace
file
// App Settings
APP_NAME = IMDB
PRODUCT_BUNDLE_IDENTIFIER = com.abuzeid.IMDB
#targets:
* IMDB
* IMDBTests
* IMDBUITests
pod install
- Select the build scheme which can be found right after the stop button on the top left of the IDE
- [Command(cmd)] + B - Build app
- [Command(cmd)] + R - Run app
This application uses the Model-View-ViewModel (refered to as MVVM) architecture, the main purpose of the MVVM is to move the data state from the View to the ViewModel,
This is to group app shared fils, like appDelegate, assets,...etc
- include seperate modules, Networking, extensions...etc.
This is for group of app scenes: movies view, and details view
- you could add new feature by folling OneFlow Model (https://www.endoflineblog.com/oneflow-a-git-branching-model-and-workflow)
- to start new featre, checkout from master, your branch should be under feature group
- reach 100% code coverage