WeatherVenue adalah situs web cuaca menggunakan Google Maps dan OpenWeathermap Data untuk membiarkan orang menemukan tempat terbaik untuk dikunjungi dalam rombongan mereka; Untuk liburan cuaca musim dingin yang lebih hangat atau pelarian musim panas yang sejuk.
Ini adalah aplikasi Web Nodejs & Express dengan dependensi lain (Axios, Redis, Kota terdekat, OpenWeather-Apis ...).
Saat digunakan setelah penelitian itu harus seperti:



Jalankan server Redis di port default, isi variabel .env:
// root folder
NODE_ENV = localhost
GOOGLE_MAPS_API_KEY =
OPENWEATHERMAP_API_KEY = // client
GOOGLE_MAPS_API_KEY =
DEFAULT_LAT = 48.86
DEFAULT_LNG = 2.34
CENTER_LOCATION = parisbaik pada folder root dan folder klien di dalam.
Openweathermap is no longer completely free, If you cannot get a key to run your tests, please ignore OPENWEATHERMAP_API_KEY but use the fake variable here: https://github.com/bacloud22/WeatherVenue/blob/main/libs/consts/fakeOneCallApiResponse.js
dan ubah fungsi fetchWeather sebagai berikut
import { fakeApiResponse } from '../consts/fakeOneCallApiResponse.js' ;
async function fetchWeather ( city , language ) {
return new Promise ( async ( resolve , reject ) => {
// const APIUrlWeather = `https://api.openweathermap.org/data/3.0/onecall?lat=${city.latitude}&lon=${city.longitude}&lang=${language}&exclude=hourly,minutely&units=metric&appid=${OPENWEATHERMAP_API_KEY}`
// const body0 = await axios.get(APIUrlWeather)
// const data0 = await body0.data
// const APIUrlPollution = `https://api.openweathermap.org/data/2.5/air_pollution?lat=${city.latitude}&lon=${city.longitude}&appid=${OPENWEATHERMAP_API_KEY}`
// const body1 = await axios.get(APIUrlPollution)
// const data1 = await body1.data
// resolve({ weather: data0, pollution: data1 })
resolve ( { weather : fakeApiResponse } )
} )
}Juga
const cities = [ nearestCities ( query , 10 ) [ 0 ] ] // nearestCities(query, 10);Silakan lihat masalah terbuka untuk masalah tertentu, dan jangan ragu untuk membuka masalah baru (seperti kode yang lebih baik, keterbacaan, modularitas dan praktik terbaik, kinerja, UI yang lebih baik atau bahkan peningkatan fungsionalitas ...).
Jika Anda berkontribusi, harap pertimbangkan bahwa saya dapat menggabungkan dan menerbitkan rilis baru di bawah satu saluran atau lainnya. Ini akan 100% gratis meskipun saya dapat menambahkan iklan untuk menghasilkan beberapa biaya kopi :)
Jika Anda ingin mempertahankan proyek dengan saya; Anda selalu bisa bertanya.
Harap tetap adil jika Anda ingin menggunakan di mana saja; Minta izin.
Coding yang manis!
Mit