Proje Detayları
Proje Tanımı
Bu projede, JavaScript kullanarak gerçek zamanlı hava durumu verilerini gösteren bir web uygulaması geliştireceğiz. Uygulama, kullanıcının aradığı şehir için güncel hava durumu bilgilerini ve 5 günlük tahminleri gösterecek. Bu proje, API entegrasyonu, asenkron JavaScript, DOM manipülasyonu ve responsive tasarım konularını uygulamalı olarak öğrenmenize yardımcı olacak.
Adım Adım Geliştirme
Bu bölümde, hava durumu uygulamasını adım adım nasıl geliştirebileceğinizi öğreneceksiniz. Her adımda, ilgili kod parçalarını ve açıklamalarını bulacaksınız.
Bu bölümde, hava durumu uygulamasını adım adım nasıl geliştirebileceğinizi öğreneceksiniz. Her adımda, ilgili kod parçalarını ve açıklamalarını bulacaksınız.
Adım 1: Proje Yapısını Oluşturma
İlk olarak, projemiz için gerekli dosyaları oluşturalım:
index.html
- Ana HTML dosyasıstyle.css
- CSS stil dosyasıscript.js
- JavaScript kod dosyası
İlk olarak, projemiz için gerekli dosyaları oluşturalım:
index.html
- Ana HTML dosyasıstyle.css
- CSS stil dosyasıscript.js
- JavaScript kod dosyası
Adım 2: OpenWeatherMap API Anahtarı Alma
Hava durumu verilerini almak için OpenWeatherMap API'sini kullanacağız. Bunun için bir API anahtarı almanız gerekiyor:
- OpenWeatherMap web sitesine gidin ve ücretsiz bir hesap oluşturun.
- Hesabınıza giriş yaptıktan sonra, "API keys" bölümünden bir API anahtarı oluşturun.
- API anahtarınızın aktif hale gelmesi birkaç saat sürebilir, bu yüzden sabırlı olun.
Not: Bu projede kullanacağımız API uçları şunlardır:
- Güncel hava durumu:
https://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}&units=metric&lang=tr
- 5 günlük tahmin:
https://api.openweathermap.org/data/2.5/forecast?q={city}&appid={API_KEY}&units=metric&lang=tr
Hava durumu verilerini almak için OpenWeatherMap API'sini kullanacağız. Bunun için bir API anahtarı almanız gerekiyor:
- OpenWeatherMap web sitesine gidin ve ücretsiz bir hesap oluşturun.
- Hesabınıza giriş yaptıktan sonra, "API keys" bölümünden bir API anahtarı oluşturun.
- API anahtarınızın aktif hale gelmesi birkaç saat sürebilir, bu yüzden sabırlı olun.
Not: Bu projede kullanacağımız API uçları şunlardır:
- Güncel hava durumu:
https://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}&units=metric&lang=tr
- 5 günlük tahmin:
https://api.openweathermap.org/data/2.5/forecast?q={city}&appid={API_KEY}&units=metric&lang=tr
Adım 3: JavaScript Kodunu Yazma
Şimdi, uygulamanın işlevselliğini sağlayacak JavaScript kodunu yazalım:
Uyarı: Yukarıdaki kodda YOUR_API_KEY
yerine kendi API anahtarınızı eklemeyi unutmayın. Gerçek bir uygulamada, API anahtarınızı doğrudan istemci tarafı kodunda saklamak güvenli değildir. Üretim ortamında, API anahtarınızı bir sunucu tarafı proxy'si aracılığıyla kullanmalısınız.
Şimdi, uygulamanın işlevselliğini sağlayacak JavaScript kodunu yazalım:
Uyarı: Yukarıdaki kodda YOUR_API_KEY
yerine kendi API anahtarınızı eklemeyi unutmayın. Gerçek bir uygulamada, API anahtarınızı doğrudan istemci tarafı kodunda saklamak güvenli değildir. Üretim ortamında, API anahtarınızı bir sunucu tarafı proxy'si aracılığıyla kullanmalısınız.
Adım 4: Uygulamayı Test Etme
Şimdi uygulamanızı test etme zamanı! Aşağıdaki adımları izleyin:
- Tüm dosyaları (
index.html
, style.css
, script.js
) aynı klasöre kaydedin. script.js
dosyasında YOUR_API_KEY
yerine kendi API anahtarınızı ekleyin.- HTML dosyasını bir web tarayıcısında açın.
- Arama kutusuna bir şehir adı girin (örneğin, "İstanbul") ve ara butonuna tıklayın veya Enter tuşuna basın.
- Hava durumu bilgilerinin ve 5 günlük tahminlerin görüntülendiğini doğrulayın.
İpucu: Eğer API anahtarınız henüz aktif değilse, OpenWeatherMap'in aktifleştirmesi için birkaç saat beklemeniz gerekebilir. Bu süre zarfında, uygulamanızın tasarımını ve kullanıcı arayüzünü geliştirmeye devam edebilirsiniz.
Şimdi uygulamanızı test etme zamanı! Aşağıdaki adımları izleyin:
- Tüm dosyaları (
index.html
,style.css
,script.js
) aynı klasöre kaydedin. script.js
dosyasındaYOUR_API_KEY
yerine kendi API anahtarınızı ekleyin.- HTML dosyasını bir web tarayıcısında açın.
- Arama kutusuna bir şehir adı girin (örneğin, "İstanbul") ve ara butonuna tıklayın veya Enter tuşuna basın.
- Hava durumu bilgilerinin ve 5 günlük tahminlerin görüntülendiğini doğrulayın.
İpucu: Eğer API anahtarınız henüz aktif değilse, OpenWeatherMap'in aktifleştirmesi için birkaç saat beklemeniz gerekebilir. Bu süre zarfında, uygulamanızın tasarımını ve kullanıcı arayüzünü geliştirmeye devam edebilirsiniz.
Projeyi Geliştirme
Temel hava durumu uygulamasını başarıyla oluşturduktan sonra, aşağıdaki özelliklerle projenizi geliştirebilirsiniz:
Temel hava durumu uygulamasını başarıyla oluşturduktan sonra, aşağıdaki özelliklerle projenizi geliştirebilirsiniz:
1. Konum Tabanlı Hava Durumu
Kullanıcının mevcut konumunu kullanarak otomatik olarak hava durumu bilgilerini gösterebilirsiniz. Bunun için Geolocation API'sini kullanabilirsiniz:
Kullanıcının mevcut konumunu kullanarak otomatik olarak hava durumu bilgilerini gösterebilirsiniz. Bunun için Geolocation API'sini kullanabilirsiniz:
2. Tema Değiştirme Özelliği
Kullanıcıların açık ve koyu tema arasında geçiş yapabilmesini sağlayabilirsiniz:
Ayrıca, CSS dosyanıza koyu tema için gerekli stilleri eklemelisiniz:
Kullanıcıların açık ve koyu tema arasında geçiş yapabilmesini sağlayabilirsiniz:
Ayrıca, CSS dosyanıza koyu tema için gerekli stilleri eklemelisiniz:
3. Sıcaklık Birimi Değiştirme
Kullanıcıların Celsius ve Fahrenheit arasında geçiş yapabilmesini sağlayabilirsiniz:
Kullanıcıların Celsius ve Fahrenheit arasında geçiş yapabilmesini sağlayabilirsiniz:
4. Hava Durumuna Göre Arka Plan Değiştirme
Hava durumuna göre uygulamanın arka planını değiştirebilirsiniz:
Hava durumuna göre uygulamanın arka planını değiştirebilirsiniz:
Geliştirme Zorlukları
Hava durumu uygulamanızı daha da geliştirmek için aşağıdaki zorlukları deneyebilirsiniz:
- Hava Durumu Grafikleri: Chart.js gibi bir kütüphane kullanarak, sıcaklık, nem ve rüzgar hızı değişimlerini gösteren grafikler ekleyin.
- Çoklu Şehir Desteği: Kullanıcıların birden fazla şehir ekleyebilmesini ve aralarında geçiş yapabilmesini sağlayın.
- Hava Durumu Bildirimleri: Kullanıcıların belirli hava koşulları için bildirim alabilmesini sağlayın (örneğin, yağmur yağacağında).
- Hava Durumu Haritası: Leaflet.js gibi bir kütüphane kullanarak, hava durumu verilerini bir harita üzerinde gösterin.
- Hava Kalitesi Verileri: OpenWeatherMap'in Air Pollution API'sini kullanarak, hava kalitesi verilerini de gösterin.
Hava durumu uygulamanızı daha da geliştirmek için aşağıdaki zorlukları deneyebilirsiniz:
- Hava Durumu Grafikleri: Chart.js gibi bir kütüphane kullanarak, sıcaklık, nem ve rüzgar hızı değişimlerini gösteren grafikler ekleyin.
- Çoklu Şehir Desteği: Kullanıcıların birden fazla şehir ekleyebilmesini ve aralarında geçiş yapabilmesini sağlayın.
- Hava Durumu Bildirimleri: Kullanıcıların belirli hava koşulları için bildirim alabilmesini sağlayın (örneğin, yağmur yağacağında).
- Hava Durumu Haritası: Leaflet.js gibi bir kütüphane kullanarak, hava durumu verilerini bir harita üzerinde gösterin.
- Hava Kalitesi Verileri: OpenWeatherMap'in Air Pollution API'sini kullanarak, hava kalitesi verilerini de gösterin.
Sonuç ve Öğrenilen Dersler
Bu projede, JavaScript kullanarak gerçek zamanlı hava durumu verilerini gösteren bir web uygulaması geliştirdik. Bu süreçte şunları öğrendik:
- Fetch API kullanarak harici bir API'den veri almayı
- Asenkron JavaScript (async/await) ile çalışmayı
- JSON verilerini işlemeyi ve DOM'a entegre etmeyi
- Kullanıcı girdilerini işlemeyi ve form doğrulaması yapmayı
- Hata yönetimi ve kullanıcı geri bildirimi sağlamayı
- LocalStorage kullanarak kullanıcı tercihlerini kaydetmeyi
- Responsive tasarım ilkelerini uygulamayı
Bu proje, modern web geliştirme becerilerinizi geliştirmenize ve gerçek dünya uygulamaları oluşturmanıza yardımcı olacak temel bilgileri sağlamıştır. Öğrendiğiniz teknikleri ve kavramları kullanarak, daha karmaşık ve özelleştirilmiş web uygulamaları geliştirebilirsiniz.
Bu projede, JavaScript kullanarak gerçek zamanlı hava durumu verilerini gösteren bir web uygulaması geliştirdik. Bu süreçte şunları öğrendik:
- Fetch API kullanarak harici bir API'den veri almayı
- Asenkron JavaScript (async/await) ile çalışmayı
- JSON verilerini işlemeyi ve DOM'a entegre etmeyi
- Kullanıcı girdilerini işlemeyi ve form doğrulaması yapmayı
- Hata yönetimi ve kullanıcı geri bildirimi sağlamayı
- LocalStorage kullanarak kullanıcı tercihlerini kaydetmeyi
- Responsive tasarım ilkelerini uygulamayı
Bu proje, modern web geliştirme becerilerinizi geliştirmenize ve gerçek dünya uygulamaları oluşturmanıza yardımcı olacak temel bilgileri sağlamıştır. Öğrendiğiniz teknikleri ve kavramları kullanarak, daha karmaşık ve özelleştirilmiş web uygulamaları geliştirebilirsiniz.