BlueSky

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:

Requirements:
  • 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.
Brownie Points:
  • 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 GitHub Repository
Frameworks and third party librarys include:
UIKit
Alamofire
AlamofireImage
GoogleMaps