Jak zbudować aplikację pogodową na 5 dni
Kompleksowe narzędzie do sprawdzania pogody, jakości powietrza i warunków atmosferycznych
Pogoda
Aplikacja pogodowa
Zaawansowana Aplikacja Pogodowa to nowoczesne, w pełni responsywne narzędzie, które łączy w sobie tradycyjne dane pogodowe z zaawansowanymi funkcjami takimi jak mapa pogodowa, szczegółowa analiza jakości powietrza, indeks grillowy czy faza księżyca. Korzysta z OpenWeatherMap API oraz Leaflet.js, zapewniając dokładne i aktualne informacje meteorologiczne w atrakcyjnej wizualnie formie z dynamicznymi tłami i animacjami.
🌤️ Wprowadź Miasto
_______
Stan Powietrza
Szczegółowe stężenia zanieczyszczeń w Twojej okolicy⚠️ Ważne Informacje
Aplikacja używa klucza API OpenWeatherMap. W wersji produkcyjnej zaleca się ukrycie klucza za własnym backendem (proxy), aby zapobiec jego nadużywaniu.
Funkcja geolokalizacji wymaga zezwolenia użytkownika w przeglądarce. Jeśli użytkownik odmówi dostępu, należy ręcznie wprowadzić nazwę miasta.
Mapa wymaga połączenia z internetem do załadowania kafelków. Nakładki pogodowe są aktualizowane co 10-15 minut przez OpenWeatherMap.
🎯 Główne Funkcje
🌡️ Aktualna Pogoda
Temperatura, odczuwalna temperatura, wilgotność, ciśnienie, widoczność, wiatr
📅 Prognoza 5 Dni
Szczegółowa prognoza z temperaturą, wiatrem, wilgotnością i prawdopodobieństwem opadów
🗺️ Mapa Pogodowa
Interaktywna mapa z nakładkami chmur i opadów w czasie rzeczywistym
🌬️ Jakość Powietrza
Szczegółowe stężenia PM2.5, PM10, O3, NO2, SO2, CO z opisami
🔥 Indeks Grillowy
Inteligentna ocena warunków do grillowania na podstawie pogody
🌙 Faza Księżyca
Aktualna faza księżyca z ikoną i nazwą po polsku
🎨 Dynamiczne Tła
Zmiana tła aplikacji w zależności od pogody (słonecznie, deszcz, śnieg, noc)
✨ Animacje
Unoszące się ikony pogodowe i płynne przejścia CSS
- Wyszukiwanie miast – autocomplete z podpowiedziami podczas wpisywania
- Geolokalizacja – automatyczne wykrywanie Twojej lokalizacji
- Wschód i zachód słońca – dokładne godziny dla danej lokalizacji
- Przełącznik jednostek – °C/°F oraz m/s/mph
- Responsywny design – działa na komputerach, tabletach i telefonach
- Język polski – wszystkie opisy pogodowe w języku polskim
- Szybkie działanie – równoczesne pobieranie danych (Promise.all)
📖 Jak Używać Aplikacji
- Wprowadź nazwę miasta – wpisz nazwę miejscowości w pole wyszukiwania (np. „Łódź”, „Warszawa”, „Tokio”). Aplikacja podpowie Ci dostępne miasta podczas pisania.
- Kliknij „Szukaj” lub naciśnij Enter – aplikacja pobierze aktualne dane pogodowe, jakość powietrza, prognozę na 5 dni oraz załaduje mapę pogodową.
- Lub użyj geolokalizacji – kliknij przycisk „Użyj bieżącej lokalizacji”, aby automatycznie sprawdzić pogodę w Twojej obecnej lokalizacji (wymaga zezwolenia w przeglądarce).
- Sprawdź szczegóły – zobacz temperaturę odczuwalną, wilgotność, ciśnienie, widoczność oraz godziny wschodu i zachodu słońca.
- Przeanalizuj jakość powietrza – sprawdź szczegółowe stężenia zanieczyszczeń (PM2.5, PM10, O3, NO2, SO2, CO) z czytelnymi opisami.
- Sprawdź indeks grillowy – zobacz ocenę warunków do grillowania na podstawie temperatury, wiatru, opadów i wilgotności.
- Zobacz fazę księżyca – sprawdź aktualną fazę księżyca z ikoną i nazwą.
- Przeanalizuj prognozę – sprawdź 5-dniową prognozę z informacjami o temperaturze, wietrze, wilgotności i prawdopodobieństwie opadów.
- Otwórz mapę pogodową – na dole strony znajduje się interaktywna mapa z nakładkami chmur i opadów.
- Przełącz jednostki – użyj przełącznika °C/°F, aby zmienić system jednostek temperatury i prędkości wiatru.
📊 Dane Meteorologiczne w Aplikacji
| Parametr | Opis | Jednostki |
|---|---|---|
| Temperatura | Aktualna temperatura powietrza | °C lub °F |
| Odczuwalna temp. | Temperatura odczuwalna przez człowieka | °C lub °F |
| Wilgotność | Zawartość pary wodnej w powietrzu | % |
| Wiatr | Prędkość wiatru | m/s lub mph |
| Ciśnienie | Ciśnienie atmosferyczne | hPa (hektopaskale) |
| Widoczność | Odległość widzialności | km lub mile |
| Opady (POP) | Prawdopodobieństwo opadów w prognozie | % |
🌬️ Jakość Powietrza – Szczegółowe Parametry
| Zanieczyszczenie | Opis | Źródło |
|---|---|---|
| PM2.5 | Najgroźniejszy pył – wnika głęboko do płuc i krwi | Spaliny, piece, przemysł |
| PM10 | Pył z dróg, kominów i budów – drażni drogi oddechowe | Rozcieranie opon, budowy, kominy |
| O₃ Ozon | Powstaje w słoneczne dni – szkodzi płucom i oczom | Reakcje chemiczne w atmosferze |
| NO₂ | Głównie ze spalin samochodowych – powoduje kaszel | Spaliny samochodowe |
| SO₂ | Ze spalania węgla – podrażnia gardło i oczy | Spalanie węgla, przemysł |
| CO | Tlenek węgla – toksyczny gaz z pieców i aut | Niepełne spalanie |
🔥 Indeks Grillowy – Jak Działa?
Aplikacja automatycznie oblicza indeks grillowy na podstawie następujących czynników:
- Temperatura – poniżej 15°C obniża ocenę, powyżej 35°C również
- Wiatr – powyżej 15 m/s znacznie obniża ocenę
- Opady – każde opady obniżają indeks
- Wilgotność – powyżej 80% obniża ocenę
Skala ocen:
- 8-10/10 – Idealny! 🔥
- 5-7/10 – Możliwy 🌤️
- 0-4/10 – Niekorzystny 🌧️
🌙 Fazy Księżyca
Aplikacja automatycznie oblicza aktualną fazę księżyca na podstawie daty. Dostępne fazy:
- 🌑 Nów – księżyc niewidoczny
- 🌒 Młody księżyc – rosnący sierp
- 🌓 Pierwsza kwadra – połowa księżyca widoczna
- 🌔 Rosnący – więcej niż połowa
- 🌕 Pełnia – cały księżyc widoczny
- 🌖 Malejący – więcej niż połowa, maleje
- 🌗 Ostatnia kwadra – połowa księżyca widoczna
- 🌘 Stary księżyc – malejący sierp
🗺️ Mapa Pogodowa
Aplikacja zawiera interaktywną mapę pogodową opartą na bibliotece Leaflet.js:
- Mapa bazowa – OpenStreetMap z możliwością przybliżania i przesuwania
- Nakładka chmur – wizualizacja zachmurzenia w czasie rzeczywistym
- Nakładka opadów – radar deszczu i śniegu
- Marker lokalizacji – oznacza wyszukiwane miasto
- Responsywność – mapa dostosowuje się do rozmiaru ekranu
🌟 Ciekawostki o Pogodzie
Najwyższa temperatura kiedykolwiek zarejestrowana na Ziemi to 56,7°C (134°F) – zmierzono ją 10 lipca 1913 roku w Dolinie Śmierci w Kalifornii.
Błyskawica jest około 5 razy gorętsza niż powierzchnia Słońca! Temperatura kanału błyskawicy może osiągnąć nawet 30 000°C.
Najbardziej deszczowym miejscem na Ziemi jest Mawsynram w Indiach, gdzie średnia roczna suma opadów wynosi około 11 872 mm.
Najwyższą prędkość wiatru kiedykolwiek zarejestrowano 12 kwietnia 1934 roku na Mount Washington w USA – wyniosła ona 372 km/h!
Każdy płatek śniegu jest unikalny – nie istnieją dwa identyczne płatki śniegu na świecie ze względu na nieskończoną liczbę kombinacji kryształów lodu.
Polska ma jeden z najwyższych poziomów zanieczyszczenia powietrza w Europie. Głównym źródłem są piece węglowe w domach jednorodzinnych oraz transport samochodowy.
🔧 Wymagania Techniczne
Przeglądarki
Aplikacja działa we wszystkich nowoczesnych przeglądarkach:
- Google Chrome (wersja 60+)
- Mozilla Firefox (wersja 60+)
- Safari (wersja 12+)
- Microsoft Edge (wersja 79+)
- Opera (wersja 47+)
Technologie
Aplikacja wykorzystuje:
Fetch API– do pobierania danych z serweraPromise.all()– do równoczesnego pobierania danychGeolocation API– do wykrywania lokalizacjiLeaflet.js– biblioteka do map interaktywnychCSS Grid i Flexbox– do responsywnego układuCSS Animations– do efektów wizualnychOpenWeatherMap API– dane pogodowe i jakość powietrza
API Endpoints
Aplikacja korzysta z następujących endpointów OpenWeatherMap:
/data/2.5/weather– aktualna pogoda/data/2.5/forecast– prognoza 5-dniowa/data/2.5/air_pollution– jakość powietrza/geo/1.0/direct– geokodowanie miast/geo/1.0/reverse– odwrotne geokodowanie/map/clouds_new– nakładka chmur na mapie/map/precipitation_new– nakładka opadów na mapie
Jak wstawić pogodę na własną stronę?
Pobieramy klucz api ze strony Weather API aby go wkleić w zaznaczone miejsce w pliku „script.js”:

Apka nie zadziała na lokalnym komputerze. Musi być wysłana na serwer.
Tworzymy odpowiednie pliki:
- index.html
- style.css
- script.js
index.html
style.css
script.js
Jeśli podczas tworzenia aplikacji pogodowej napotkasz jakiekolwiek trudności lub Twój kod nie działa zgodnie z oczekiwaniami, możesz pobrać pliki kodu aplikacji pogodowej, klikając przycisk poniżej.
Pamiętaj, że po pobraniu pliku będziesz musiał wkleić „Klucz API OpenWeatherMap do API_KEYzmiennej w pliku script.js.


