MGM verisiyle il ve ilçe havası
Hava Durumu
Meteoroloji Genel Müdürlüğü verisiyle çalışan hava durumu uygulaması. 81 il ve ilçeleri aranır ya da konumdan bulunur; anlık durum, 30 saatlik gökyüzü ve 5 günlük tahmin gösterilir. Şemsiye ve kıyafet önerir, resmî uyarıları ve sabah özetini bildirim olarak gönderir. Türkçe ve İngilizce çalışır, ana ekrana uygulama olarak eklenir.
- Durum
- Canlıda
- Araçlar
- Next.js 16 · React 19 · TypeScript · Canvas · Web Push · Upstash Redis · PWA · Vitest

Problem
MGM’nin herkese açık bir API’si yok; sitenin kullandığı uçlar belgelenmemiş ve ilçe verisi ayrı bir uçtan geliyor. Hissedilen sıcaklık çoğu saatte gerçek sıcaklıkla aynı dönüyor, yağış olasılığı hiç verilmiyor. Bu ham veriden “şemsiye alayım mı, ne giyeyim?” sorusuna güvenilir bir cevap çıkarmak gerekiyordu.
Rolüm
Tek geliştirici: MGM istemcisi, hesaplamalar, arayüz, bildirim sunucusu ve testler.
Yaklaşım
- 01
Sunucuda MGM istemcisi
Anlık gözlem, saatlik ve günlük tahmin ile resmî uyarılar Next.js uç noktasında birleştirilir, önbelleğe alınır ve hız sınırıyla sunulur. İl ve ilçe dizini MGM’den üretilir; arama Türkçe karakterleri katlayarak çalışır, en yakın yer koordinattan bulunur.
- 02
Veriden karar
Hissedilen sıcaklık nem ve rüzgardan yeniden hesaplanır (Steadman, rüzgar soğuğu, ısı indeksi). Şemsiye kararı yağış olasılığı yerine saatlik hadise kodu, rüzgar, ölçülen yağış ve resmî uyarıdan çıkar; kıyafet planı günün kalan saatlerine bakar.
- 03
Kaydırılabilir gökyüzü
Önümüzdeki 30 saat tek bir tuvale panorama olarak çizilir; üzerinde gezinince okuma o saate geçer. Tuval yalnız veri ya da boyut değişince boyanır, kaydırma ve gezinme yalnız transform ve opacity yazar. Aynı çizim paylaşılabilir görsel kartında da kullanılır.
- 04
Sunucusuz bildirim
Abonelikler Upstash Redis’te cihaz başına tutulur; Vercel cron sabah özeti ve yeni resmî uyarıları Web Push ile gönderir. Aynı uyarı bir cihaza ikinci kez gitmez.
Zorlu an
İlçeler hiç bulunmuyordu
İlk sürümde ilçe aramak hep il merkezini döndürüyordu: kullanılan uç yalnız il merkezini veriyordu. İlçeler başka bir uçtan alınıp il ile birlikte eşleştirildi; ilçenin kendi istasyonu yoksa saatlik tahminin il merkezinden geldiği arayüzde açıkça söyleniyor.
Kalite
Ayrıştırma, hissedilen sıcaklık, şemsiye, kıyafet, uyarı ve bildirim metinleri Vitest ile test edilir.