Skip to content

A SwiftUI-based weather app using AccuWeather API with animated backgrounds, hourly and 5-day forecasts.

License

Notifications You must be signed in to change notification settings

way2dipak/WeatherApp-SwiftUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌦️ WeatherApp - SwiftUI

A beautifully designed weather app built using SwiftUI that fetches real-time weather data from the AccuWeather API. This app demonstrates the use of SwiftUI components, MVVM architecture, and API integration.


🚀 Features

  • 🌤️ Current weather based on user location
  • 🔁 Pull-to-refresh to update weather info
  • 🕒 Hourly forecast
  • 📆 5-day weather forecast
  • 📍 Location-based city name display
  • 🧭 Animated weather backgrounds (day/night/rain/thunder/snow effects)
  • 🧼 Clean MVVM architecture

🧱 Tech Stack

Tool Description
SwiftUI Declarative UI framework
Combine Data binding and reactive programming
AccuWeather API Weather data provider
CoreLocation To get user location
MVVM Architectural pattern

📸 Screenshots

WeatherApp


🔧 Setup Instructions

1. Clone the Repository

git clone https://github.com/way2dipak/WeatherApp-SwiftUI.git
cd WeatherApp-SwiftUI

2. Open in Xcode

Double-click the WeatherApp.xcodeproj or open via terminal:

open WeatherApp.xcodeproj

3. Install Dependencies

No external package dependencies required — everything is native SwiftUI.

4. Get AccuWeather API Key

var apiKey = "YOUR_ACCUWEATHER_API_KEY"

5. Run the App

Select a simulator or connect your iOS device and run the project using the ▶️ button in Xcode.


📁 Project Structure

WeatherApp/
├── Views/               # SwiftUI views
├── ViewModels/          # ObservableObjects
├── Models/              # Codable structs for weather data
├── Services/            # Network and Location services
├── Utilities/           # Helper extensions and constants
├── Assets/              # Icons, background images, etc.
└── WeatherAppApp.swift  # App entry point

🧪 Future Enhancements

  • 📍 Search based Multi-city support
  • 🔔 Weather alerts with notifications
  • 📊 Charts for temperature trends
  • 🌐 Localization support
  • 🌐 Light and dark mode support
  • 🌙 Dynamic UI based on time of day

🛡️ License

This project is licensed under the MIT License.


🙋‍♂️ Author

👤 Dipak Singh
🔗 GitHub
📧 developer.dipak@gmail.com


🙌 Acknowledgments

About

A SwiftUI-based weather app using AccuWeather API with animated backgrounds, hourly and 5-day forecasts.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages