Skip to content

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

Latest commit

 

History

67 Commits

Folders and files

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