Tasks worked on:
-
Architect and implement the application to use the MVVM Design Pattern (Clean Swift Code) - All objects are Codable
-
Master / Detail Screens
-
Retrieve current Location
-
Retrieve Weather Details for current location and other cities (in code)
-
Retrieve Weather Forecast and display horly weather for the day
-
Retrieve and display all weather conditions
-
Display weather icons accordingly
-
Restructure the application code folders structure
-
Decode and map modles using Codable
-
Simplify API End Point
-
Create API Weather Client for the required endpoints
-
Create custom viesw and use Autolayout
-
Create custom cells using NIBs
-
Add a number of extentions including elegant ways to register for UICollectionCellViews, etc..
-
Add Theme pattern
-
Added error handling using try,catch blocks in API
-
Add Localized file
-
I didn't have time because of work to integrate Carthage for Quick and Nimble - please review other recent code challenges which such as REA (TramTracker for Quick and Nimble unit Test Integration)
I belive I implemented very clean Swift code. I have implemented the hard parts and I am at a point where I can implement a lot more functionalties with a much enhanced UI but only because of time constraints I wasn't able to.
Implemented using Xcode Version 10.2.1 (10E1001) and Swift 5.0