Skip to content

Latest commit

 

History

History
95 lines (72 loc) · 3.57 KB

README.md

File metadata and controls

95 lines (72 loc) · 3.57 KB

Weather App

Table of Contents

Introduction

Mobile weather app that uses an external API to display weather information from around the world.

Motivation

This is a personal learning project aimed to teach me how to use APIs to grab live data from the internal as well as parse JSON responses, get user current location and updating UI through user interaction.

Technology Used

Language Swift
Notable Technology Utilized
  • Swift Language + Storyboard
  • Creating a dark-mode enabled app
  • Usage of vector images as image assets
  • UITextField for user input
  • Delegate pattern design
  • Swift protocols and extensions
  • Uses the URLSession to network and make HTTP requests
  • Parse JSON with native Encodable and Decodable protocols
  • Uses the Grand Central Dispatch to fetch the main thread
  • Retrieval of Core Location to get the current location from the phone GPS
  • Feature - Weather information display
  • Feature - User able to select favourite locations

Build Status

Project is completed.

Features

  • Light and dark mode
  • Search for location and display current weather
  • Update weather icon based on location's weather
  • Ask for user's current location
  • Reset weather to user's current location

Light and dark mode

  • Displays a light or dark theme based on user's device

Search for location and display current weather

  • User can use the search textbox to find weather information for a certain location
  • User can press enter or use the magnifind glass icon

Update weather image based on location's weather

  • weather image will change depending on the weather data from https://openweathermap.org/
  • For example, if its cloudy at that location it will show a cloudy image

Ask for user's current location

  • Prompts the user to give permission to provide current location

Reset weather to user's current location

  • User can reset the weather to their current location

Installation

  • Ensure XCode is installed (only available on MacOS)

Execution

  • Open the "Clima.xcodeproj" file in XCode
  • Once the project is open you can click the play button at the top of the IDE to run the iPhone simulator or use a physical device