BlueSky was a small app initially build in Swift 4 for demonstrating my iOS native app building skills, ability to write clean and maintainable code along with testing out my attention to detail. Updated to Swift 5
The brief is outlined below:
- Use a UITableViewController to display weather information of Sydney, Melbourne and Brisbane as start.
- Provide a way to add more cities using another modal view controller which includes a search functionality to find a city by name or location.
- City IDs - Sydney, Melbourne and Brisbane are: 4163971, 2147714, 2174003
- Each cell should display at least two pieces of info: Name of city on the left, temperature on the right.
- Weather should be automatically updated periodically.
- Use Storyboard and Autolayouts.
- It is fine to use 3rd party libraries via CocoaPods or by other means.
- Use an activity indicator to provide some feedback to user while waiting for network response.
- Allow user to tap on a cell to open a new “Detail view”, to show more information about the city such as current weather summary, min and max temperature, humidity, etc.
- Try to use table view or collection view to display details.
- In the “Detail view”, implement animations to enhance the user experience.
- Support all different dimensions of the devices.
- Support landscape and portrait view together
GitHub Repository
Frameworks and third party librarys include:
UIKit
Alamofire
AlamofireImage
GoogleMaps