FourCast is a weather application for iOS built with SwiftUI.
It provides current weather conditions, hourly and daily forecasts for the user's current location and saved locations. The app also integrates weather information with calendar events, offers clothing recommendations, and supports Live Activities.
This project was created as part of an engineering thesis focused on the design and implementation of a weather application for the iOS platform.
- Swift
- SwiftUI
- OpenWeather One Call API
- CoreLocation
- MapKit
- EventKit
- WidgetKit
- ActivityKit
- BackgroundTasks
- UserDefaults
- Swift Testing
- Current weather conditions based on the device location
- Hourly and daily weather forecasts
- Weather details, including:
- temperature
- sunrise and sunset
- moon phase, moonrise and moonset
- wind speed
- atmospheric pressure
- humidity
- UV index
- visibility
- Clothing recommendations based on weather conditions and user preferences
- Support for multiple locations
- Search and add locations using MapKit
- Quickly switch between the current location and saved locations
- Configurable temperature, wind speed, pressure, and distance units
- Customizable Live Activity start time for calendar events
- Clothing preferences used for personalized recommendations
- Local storage of user preferences and saved locations
- Live Activity support for upcoming calendar events
- Event location
- Weather condition icon and expected temperature at the event start time
- Clothing recommendations based on the expected weather


