Skip to content

fatihhkaya/weather-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SWIFTUI HAVA DURUMU UYGULAMASI

Bu uygulama, kullanıcıların gerçek zamanlı hava durumu verilerini görüntülemelerine ve favori konumlarını kaydetmelerine olanak tanır. Uygulama, kullanıcının konumunu belirlemek için CoreLocation framework'ünü ve hava durumu verilerini almak için OpenWeatherMap API'sını kullanır.

Özellikler

Gerçek zamanlı hava durumu bilgilerini görüntüleme Kullanıcının konumunu belirleme Favori konumları ekleme ve kaldırma Arama yaparak belirli bir konumun hava durumunu görüntüleme

Kullanılan Teknolojiler ve Frameworkler

CoreLocation: Kullanıcının konumunu belirlemek için CoreLocation framework'ü kullanılmıştır.
Combine: Reactive programlama paradigması için Combine framework'ü kullanılmıştır.
URLSession: Hava durumu verilerini almak için URLSession kullanılmıştır.
FileManager: Favori konumları kalıcı olarak depolamak için FileManager kullanılmıştır.

Kod Yapısı

  1. WeatherService.swift Bu dosya, OpenWeatherMap API'sından hava durumu verilerini almaktan sorumludur. getCurrentWeather fonksiyonu, belirli bir enlem ve boylam koordinatına göre hava durumu verilerini alır.

  2. LocationManager.swift Bu dosya, kullanıcının konumunu belirlemekten sorumludur. CoreLocation framework'ünü kullanarak kullanıcının konumunu izler ve güncellemeler alır.

  3. DataStore.swift Bu dosya, favori konumları depolamak ve yönetmek için kullanılır. Favori konumlar, FileManager kullanılarak kalıcı olarak depolanır.

  4. HomeViewModel.swift Bu dosya, ana görünümün mantığını içerir. Kullanıcının konumunu ve hava durumu verilerini alır, favori konumları yönetir ve görünümleri güncellemekten sorumludur.

  5. FavoriteAddViewModel.swift Bu dosya, favori konumları ekleme ve kaldırma işlemlerini yönetir.

  6. Görünüm Dosyaları (SwiftUI) Uygulamanın kullanıcı arayüzü, SwiftUI görünümleri kullanılarak oluşturulmuştur. Ana görünümler HomeView, FavoriteLocView ve FavLocationAddView'dır.

Ekran Görüntüleri

Releases

No releases published

Packages

No packages published

Languages