Universal (iOS & macOS) weather app

Overview

The Weather

A simple Universal (iOS and macOS) weather app that can take a location input, then display some details about the weather. This project was a implementend in 2 days to solve a "Take Home Code Challenge".

Tech stack

  • Swift
  • SwiftUI
  • async/await
  • CoreLocation
  • MapKit

Requirements

  • Xcode 13.2.1 +

Weather API

The app uses MetaWeather API for fetching locations and the 5 day forecast for a given location. That’s why MetaWeather was choosen:

  • has the required data to show weather details
  • it's simple to use and implement, it doesn't require account creation or auth token, that's a good thing for the propose of this project
  • excellent documentation
  • fetch both location (by name and coordinates) and weather for location
  • HTTPS
  • has some nice extra data, like icons and 5 day forecast

Limitations

Although MetaWeather is great API, it has some important limitations. The main issue is in location searching. The API cannot find several cities, searching by text or searching by coordinates. The API cannot also search search locations by states or Zipcode, for example, as has some issues with queries with special characters.

Workarounds

In order to mimimize the poor MetaWeather location searching the app uses MKLocalSearch, an Apple native feature which allows fetch places by query and returns a placemark. As a placemark contains coordinate, the app try to fetch a location with MKLocalSearch every time MetaWeather cannot find a location by query. As soon app get a placemark with MKLocalSearch it performs a new fetching in MetaWeather, this time by latitude and longitude parameters.

When searching in MetaWeather by coordinate it almost always returns locations. It works very well, but sometimes the service is not be able to find the exact city you are looking for. It looks MetaWeather location database is not as complete, so it returns the closest locations from the coordinate sent in parameters.

STORY-6:5 day forecast

For a given location allow see the weather not only for current day, but also the forecast for next 5 days.

You might also like...
LiveWeatherApp - Live Weather App - Displays Live Weather Data with OpenWeather API
LiveWeatherApp - Live Weather App - Displays Live Weather Data with OpenWeather API

Live Weather App - Displays Live Weather Data with OpenWeather API Learned about

This repository contains code for building Universal Apps with SwiftUI.

MindLikeWater This Repo This repository contains code for building Universal Apps with SwiftUI. The same codebase can be compiled to produce binaries

A fluent Collapsing header view like iOS Contacts detail and Weather App

FluentCollapsingHeaderView A Collapse Header View like iOS Weather App Credits FluentCollapsingHeaderView is owned and maintained by the Seyed Samad G

Clima is an amazing weather app for iOS
Clima is an amazing weather app for iOS

ClimaApp Clima App é um iOS App desenvolvido em Swift. Clima é um incrível app que mostra o clima da localidade que você deseja saber, esse app foi fe

Assignment 9 - Weather Search iOS App

WeatherSearchiOS Assignment 9 - Weather Search iOS App This is my implementation of assignment 9 for csci 571 for fall 2021. Requirement In this exerc

Weather app for iOS with swift
Weather app for iOS with swift

Weather app Codable Protocol Getting data from Open Weather API and using JSON D

Weatherapp - An iOS app that shows the weather forecast in Toronto

☀️ Weather App An iOS app that shows the weather forecast in Toronto 📖 About Th

SwiftUI Weather App

Weatherly About A Swift-UI Weather app, using both CoreLocation and a searching functionality to provide the user accurate weather from the WeatherApi

UIKit (MVC), Weather App
UIKit (MVC), Weather App

Weather Simple weather app written on UIKit (MVC) Was used • UITableView • CoreLocation • Lottie Animations • OpenWeatherMap (API) • Author of animate

Owner
Alexandre Morgado
Tripify co-founder, iOS Developer
Alexandre Morgado
CZWeatherKit is a simple, extensible weather library for iOS, tvOS, and OS X that allows for easy fetching of weather data from various weather services.

CZWeatherKit is a simple, extensible weather library for iOS, tvOS, and OS X that allows for easy fetching of weather data from various weather services.

Comyar 455 Nov 20, 2022
Weather - Use Open weather APIs to fetch live weather data

Weather ??️ Use Open weather APIs to fetch live weather data Use Core Location p

Vicky Lee 2 Jun 3, 2022
Ios-weather-app - A simple weather app with swift

AHOY Assignment Weather app Main Screen Settings Architecture The Architecture u

null 0 Jan 29, 2022
Weather-app - Created a simple weather app on Xcode using SwiftUI, only shows one location

weather-app Created a simple weather app on Xcode using SwiftUI, only shows one

Rahul Kadiyala 1 Feb 11, 2022
Swift Language Weather is an iOS weather app developed in Swift

Swift Language Weather SwiftWeather has renamed to Swift Language Weather. Because this repo is ranked number one in Google when we search "Swift Weat

Jake Lin 5.2k Jan 7, 2023
A Simple Weather App Using the Open Weather Map api

The Weather, a Simple Weather App Using the Open Weather Map api. This app demos use of the Open Weather Map api. The UI is simple, with views of the

null 1 Feb 17, 2022
A SwiftUI Weather App powered by World Weather Online API

SwiftUI-Weather The SwiftUI Weather app, allow users get the current weather for a particular locatio and view a 5-day weather forecast for the select

Dionysis Karatzas 6 Sep 29, 2022
Simple Weather app to display future weather of 3 cities

WeatherApp Simple Weather app to display future weather of 3 cities Test project for a small weather application Overview For the test project a small

null 0 Nov 28, 2021
Weather forecast app that allows the user to either look for weather at their current location based on the GPS data or search for another city manually.

⛅️ Cloudy Weather forecast app that allows the user to either look for weather at their current location based on the GPS data or search for another c

Burhan 0 Nov 7, 2021
WeatherApp - A simple weather app utilizing Google Places API for search and OpenWeather for weather data

Swift Weather App About A simple weather app utilizing Google Places API for sea

null 0 Jan 5, 2022