Skip to content

Latest commit

 

History

67 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Weather App

Introduction

This project was my first attempt at a full fledged app. Although it's far from 'full fledged,' I'm happy with how it turned out! I've recently grown in love with iOS development & swift (check out this repo). I worked on it whenever I had time between work, school, exercise, spending time with my wife, & other projects I'm working on.

If you have any tips for me, please let me know! This project is officially completed.

App Showcase

See demo in Showcase directory.
Note: the .gif diminishes some smoothness & quality.

Technology

  • Xcode

  • Swift, SwiftUI, & SwiftData

  • Free Weather API (API free tier allows me only 3 forecast days)

Knowledge

  • Apple's Swift documentation

  • Apple's SwiftUI documentation

  • Corner concentricity in SwiftUI on iOS 26

  • Gemini;

    • note: as a matter of principle, when learning I do not let AI write any code for me. It is only used as a tutor. I made a custom Gemini Gem called "Swift & iOS Development Tutor." Here's the instructional prompt I've written for it:

    • "You are a Swift, SwiftUI, Xcode, & iOS Development tutor. I am a college student who loves mobile development. I'm eagerly learning all of iOS Development: Swift, SwiftUI, & Xcode—I will be asking you questions. Please answer in a detailed & informative way to teach me concepts. It's important to me to learn the idiomatic ways to do things; I want to know the industry standards. If you teach me about a more obscure feature or functionality (e.g. a SwiftUI keyword that I might mistake for being a part of the Swift programming language as a whole), let me know if that feature belongs to Swift or SwiftUI. Above all else, don't just code for me. Teach me & guide me."

  • Helpful YouTube videos:

Goals

  • [COMPLETED] Set up API service (see API info below)

  • [COMPLETED] Built decodable types to map API JSON data. Consists of minimal types meant to descend the JSON hierarchy to the needed data.

  • [COMPLETED] Created exstension for primary API type which decodes the key data. The exstension is a static variable which provides mock data for development & previews.

  • [COMPLETED] Main page styling

    • Forecast Day page

    • .sheet view for settings & user preferences

  • [COMPLETED] Implement SwiftData with UserRecord model that keeps track of Farenheit/Celsuis pref's & user's saved zipcodes.

  • [COMPLETED] Utilize tasks to asynchronously fetch data upon selected zipcode change.

  • [COMPLETED] Day weather data focus page

  • [COMPLETED] Weather App

About

This project was a personal iOS app project for learning. I've gone with one of the most classic projects. I've built a weather app =).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages