Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/akshayanmohandas/tourist-utility-app

A SwiftUI app providing real-time weather information and tourist places of interest for various locations.
https://github.com/akshayanmohandas/tourist-utility-app

application openweather-api openweathermap-api swift swiftui tourism-app weather-app xcode

Last synced: 15 days ago
JSON representation

A SwiftUI app providing real-time weather information and tourist places of interest for various locations.

Awesome Lists containing this project

README

        

# Tourist Utility App πŸŒ€οΈπŸ—ΊοΈ

A SwiftUI-based iOS application that provides real-time weather updates, forecasts, and maps of tourist attractions. This project was developed as part of my **BEng Software Engineering** coursework at the **University of Westminster**, where I achieved a grade of **86/100**.

---

## Features ✨
- **Real-Time Weather Data**
- Displays the current weather, including temperature, humidity, pressure, and wind speed for any city.
- Fetches weather data from the **OpenWeatherMap API**.

- **Hourly and Daily Forecasts**
- Provides an hourly forecast for the next 48 hours in a horizontally scrollable view.
- Shows a daily forecast for the next 8 days in a vertically scrollable list.

- **Tourist Attractions Map**
- Interactive map with pins marking key tourist attractions, loaded dynamically from a local JSON file.
- Users can tap on pins to view additional details about each place.

- **Dynamic City Search**
- Allows users to search for a specific city, dynamically updating weather, forecasts, and the map view for the selected location.

- **User-Friendly Interface**
- Designed to follow Apple's Human Interface Guidelines, ensuring a clean and consistent UI/UX.

---

## Technologies Used πŸ› οΈ
- **Swift 5.7+**
- **SwiftUI**
- **CoreLocation**
- **MapKit**
- **OpenWeatherMap API**

---

## Project Structure πŸ“‚
- **Models**: Defines the data structures for weather and tourist places.
- **ViewModels**: Manages state and data flow between views and models using the MVVM pattern.
- **Views**: SwiftUI views for displaying weather information, forecasts, and maps.

---

## Skills Gained 🧠
- Native iOS Development with SwiftUI.
- API integration and JSON decoding.
- State management with the MVVM architecture.
- Multi-threading for smooth user experiences.
- UI/UX design aligned with Apple guidelines.

---