WeatherApp is a comprehensive weather application built with SwiftUI, leveraging SwiftData
for efficient data management and WidgetKit
to provide a dynamic and customizable widget experience on the home screen. This app allows users to search for cities, save favorite locations, and access detailed weather information.
MP4 demos:
- https://github.com/user-attachments/assets/2c619f37-2390-4dea-b211-11f5de8fc6a2
- https://github.com/user-attachments/assets/e8b98cb8-869b-4ae8-8c33-38ef88b828cc
- Weather Search: Search for weather information by entering city names using the OpenWeatherMap API.
- Favorites List: Easily add cities to a favorites list for quick access to current weather updates.
- Customizable Settings: Personalize your weather experience with various settings options, including units of measurement and display preferences.
- Enhanced Widgets: The app includes multiple widget configurations that provide dynamic and detailed weather updates directly on your home screen.
- Xcode 14.0 or newer
- iOS 17.0 or newer
-
Set up the project:
- Clone the repository and open the project in Xcode.
-
Building and running:
- Select the app target and run the project on a simulator or device.
-
Search for a city:
- Enter the city name in the search field and press
Go
to view current weather details for the selected location.
- Enter the city name in the search field and press
-
Add to Favorites:
- Add searched cities to your favorites list for quick access. These cities will be readily accessible from the main list in the app.
-
Customize Settings:
- Access the settings menu to adjust preferences such as temperature units, display options, and more.
-
Widget Customization:
- Explore and configure various widgets to display different types of weather information on your home screen, including current conditions and forecasts.
- Notifications: Plan to add notifications for significant weather changes.
- Expanded Widget Options: Further enhancement of widget features to include extended forecasts and additional weather data.
- Broader City Support: Implementing support for more cities and locations to enrich user experience.
- Michał Talaga
- Contact: michal.talaga.programming@gmail.com
The project is available under the MIT license. Details are in the LICENSE
file.