۱۶
پروژه دوم: اپ هواشناسی 🌦️
یه اپلیکیشن هواشناسی واقعی با استفاده از API میسازیم!
پیشنمایش پروژه نهایی
در این پروژه، یک اپلیکیشن ساده میسازیم که کاربر اسم یک شهر را وارد میکند و ما با استفاده از یک API رایگان هواشناسی، دمای فعلی و وضعیت هوا را به او نشان میدهیم.
کد کامل پروژه
برای این پروژه به یک کلید API از سایت OpenWeatherMap نیاز داریم. ثبتنامش رایگانه!
app.js
// کلید API خود را اینجا قرار دهید
const apiKey = 'YOUR_OPENWEATHERMAP_API_KEY';
const cityInput = document.getElementById('city-input');
const searchBtn = document.getElementById('search-btn');
const weatherInfo = document.getElementById('weather-info');
async function getWeather(city) {
if (!city) {
alert('لطفا اسم شهر را وارد کنید.');
return;
}
weatherInfo.innerHTML = '<p>در حال دریافت اطلاعات...</p>';
weatherInfo.classList.remove('hidden');
const apiUrl = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}&units=metric&lang=fa`;
try {
const response = await fetch(apiUrl);
if (!response.ok) {
throw new Error('شهر مورد نظر پیدا نشد!');
}
const data = await response.json();
displayWeather(data);
} catch (error) {
weatherInfo.innerHTML = `<p class="text-red-500">${error.message}</p>`;
}
}
function displayWeather(data) {
const { name, main, weather } = data;
weatherInfo.innerHTML = `
<h3 class="text-2xl font-bold">${name}</h3>
<p class="text-4xl font-bold my-2">${Math.round(main.temp)}°C</p>
<p class="text-lg text-muted-foreground">${weather[0].description}</p>
`;
}
searchBtn.addEventListener('click', () => {
getWeather(cityInput.value);
});
cityInput.addEventListener('keypress', (e) => {
if (e.key === 'Enter') {
getWeather(cityInput.value);
}
});
آفرین! دوره تموم شد! 🥳
شما با موفقیت این دوره کامل رو به پایان رسوندین و دو تا پروژه واقعی ساختین! حالا یه درک خیلی خوب از جاوااسکریپت دارین و آمادهاین که وارد دنیای هیجانانگیز فریمورکها (مثل React و Vue) بشین یا پروژههای شخصی خودتون رو شروع کنین. موفق باشی!