- Sample made using ObjectiveC
- All the data from the weather web service is consumed
- A part of the data in the data model is displayed in a meaningful way.
- Unit tests are provided.
- Only one third party library is used.Mantle is a popular library for JSON object mapping
- The project uses carthage for dependancy management.(I am using an older version of Xcode so the cocoapods version have some issue with my Xcode, so cocoapods not used)
- Clone the project and build
- Carthage output also added to the repo, to make things easy to setup
The applcation follows 3 tier architecture. We are not using local persitance model becaue its better to give no weather than an irrelevant weather report of the past.
-
The layers are
- Services (Location and REST services)
- ViewModel
- View
The ViewController is treated as a part of view as per MVVM. ViewController is in has a relation with view model and view The view model communicate with the view controller using KVO and notification center.