Bu uygulama React Native ve Expo ile geliştirilmiştir. Uygulama kullanıcının konum bilgisini veya istediği şehri aratarak bir şehir seçmesiyle seçilen şehre ait hava durumu bilgilerini ve o şehirde yapılacak etkinlikleri listeler. Kullanıcılar hava durumu bilgilerini öğrenebilir ve seyahat planları yaparken etkinlikleri keşfedebilirler.
NOT: Fotoğraflar uygulamanın en gücel haline ait değildir. Fotoğraflara ek olarak önceki sayfaya geçiş butonları eklenmiştir
Uygulamaya giriş yaptığınızda konum izni istenecek ve onay verdiğinizde ana sayfadaki konumdan gelen şehir bilgisine göre "Click to accept {cityName} as your location" butonu görünecektir. Bu butona tıkladığınızda şehir bilgisi inputa aktarılacak ve API'ye gönderilecektir. API, konumdaki şehri eşleştirip inputun altında gösterecektir. Bu şehre tıklayarak o şehre ait hava durumu bilgilerinin olduğu sayfaya yönlendirileceksiniz. Eğer konum izni verilmezse "location not found, check location settings" uyarısı gözükür. Kullanıcı konum bilgisi olmadan şehir ismi aratarak istediği şehrin hava durumu bilgilerine ulaşabilir.
Bu sayfada, seçilen şehre ait etkinlik bilgileri kategorilere ayrılarak listelenir. Kullanıcılar etkinlik kutucuğunun sağ tarafında bulunan aşağı ok butonuna basarak etkinlik açıklamasını görebilirler. Etkinlikler genellikle "Festival", "Spor", "Konser" gibi kategorilere ayrılmıştır, böylece kullanıcılar ilgi alanlarına göre etkinlikleri kolayca bulabilirler.
Bu sayfada, seçilen şehre ait bazı sayısal hava durumu bilgileri grafiklerle sunularak görselleştirilir. Grafikler sayesinde kullanıcılar hava durumunu daha kolay anlayabilir ve kararlarını buna göre verebilirler. Örneğin, sıcaklık grafiği ile hava sıcaklığının zaman içinde nasıl değiştiğini görebilirler.
Ana ekranda input kısmına eğer kullanıcının girdiği şehir ismi api verilerindeki şehir isimlerinden herhangi biriyle eşleştirilemediyse ya da kullanıcı şehrin bulunması için yeterli sayıda harf girişi yapmadıysa kullanıcıya kırmızı renkte "Lütfen geçerli bir şehir adı girin" mesajı gösterilir. Hava durumu ekranında veriler yüklenirken, React Native'in ActivityIndicator bileşeni kullanılarak yükleniyor ikonu döndürülür. Eğer API'den veri gelmezse, ekranda kırmızı renkte "Veriler yüklenirken bir hata oluştu. Lütfen uygulamayı yeniden başlatın." şeklinde bir uyarı mesajı görüntülenir. Bu durumda kullanıcıya uygulamayı yeniden başlatması tavsiye edilir. Etkinlikler ekranına girildiğinde eğer şehre ait etkinlik yoksa kullanıcıya "Seçilen şehre ait etkinlik bulunamadı" uyarısı verilir ve geri dönebilmesi için önceki sayfaya geçiş butonu gösterilir.
Hava sıcaklığı belirli bir dereceden fazlaysa ve yağmur ihtimali belirli bir seviyeden azsa güneşli arka plan fotoğrafı, yağmur ihtimali belirli bir seviyeden fazlaysa yağmurlu arka plan fotoğrafı gösterilir.
Not: Bazı Font Size değerleri figma tasarımına uygunluk açısından ekran boyutuna göre değişiklik göstermek yerine sabit değerler tercih edilmiştir.
- Konum - Expo Location
- Router - React Navigation
- API İstekleri - Axios
- Responsive Tasarım - React Native Responsive Screen
- Grafikler - React Native Chart Kit