An iOS app written in Swift that displays real-time weather from the Open Weather API of a city inputted by a user. This is a single page application that scrolls vertically, containing 3 major UI segments: current weather, 5-day forecast, and current weather specific metrics.
- Nuke (Image Loading System)
- Lottie (Animation Renderer)
- Weather API Key [Real-time Weather Data Provider]
The prerequisite(s) are installed using Swift Package Manager instead of Cocoapods. Upon the first build, SPM should download the dependencies automatically.
Update the Weather API key inside Model/APIManager.swift
- Clone/Download the app to your Mac
- Check that you have the latest build of XCode installed.
- GET Current Weather in Irvine:
https://api.openweathermap.org/data/2.5/weather?lat=33.6846&lon=-117.8265&appid=<INSERT_API_KEY>&units=imperial
- GET Current Weather in Bangkok:
https://api.openweathermap.org/data/2.5/weather?lat=13.7563&lon=100.5018&appid=<INSERT_API_KEY>&units=imperial
- GET 5day/3hr forecast in Irvine:
https://api.openweathermap.org/data/2.5/forecast?lat=33.6846&lon=-117.8265&appid=<INSERT_API_KEY>&units=imperial
- Store searched results in user defaults
- Search Bar provides suggested locations as user types
- We are using @IBDesignable
RoundedCornerView
class which extendsUIView
to set rounded corners in storyboard rather than programatically. Sometimes, after setting the corner radius in the attributes inspector, the views' corner radius will not update visually on the storyboard. Toggle Editor->Refresh All Views.
- Raywenderlich intro article on NUKE
- Horizontal Scroll View
- Use the Issue Tracker: https://github.com/CodeNextPaco/Weatherly/issues
- MIT LICENSE
- Derek Chang (contract dev - July 2022, former iOS Guru): [email protected]
- Paco (contract dev - 2022)