リアルタイム天気ネットワーク



Github
軍隊での2番目のプロジェクトとして、除隊日計算機の後に何をするかを考えています.地域ごとにリアルタイムの天気データを受信し、Webページに印刷したいです.時間は一週間ぐらいかかります.

使用方法


使い方は簡単で、Input boxに現在の天気を見たい地域を入力して検索すればいいです.

天気出力


21年9月17日現在「ソウル」を検索

続いて「釜山」を検索
写真のように天気によっては、背景画面やクリアボックスの右上隅のアイコンを変えてみましょう.

エラーページ



地域名が正しく入力されていないか、他の文字が入力されていない場合は、エラーページに切り替えます.

プロジェクト完了後の感想


axiosを使ってapiを取得し、使い始めたばかりの頃からgooglingを一生懸命使っていましたが、コードを書き終えて実行すると、データが正しく取得されていないので大変でした.async-await構文を利用すべきだった.
JavaScriptの知識が足りないために罪を受けた.しっかり勉強しなさい

残念な点


OpenWeatherMapは、地域名でapiを受信する際には英語で地域名を入力する必要があるので、ハングルで入力する場合は英語に変換し、探せば良いライブラリがあるはずですが、そのままハードコーディングしました.
function KTE(city) {
	var check_eng = /[a-zA-Z]/;

	// city값이 영어일시 그대로 리턴
	if (check_eng.test(city) == true) {
		city=city.toLowerCase();
		if (
			city == 'seoul' ||
			city == 'incheon' ||
			city == 'gyeonggi-do' ||
			city == 'busan' ||
			city == 'daegu' ||
			city == 'gwanju' ||
			city == 'daejeon' ||
			city == 'ulsan' ||
			city == 'gangwon-do' ||
			city == 'chungcheongbuk-do' ||
			city == 'chungcheongnam-do' ||
			city == 'jeollabuk-do' ||
			city == 'jeollanam-do' ||
			city == 'gyeongsangbuk-do' ||
			city == 'gyeongsangnam-do' ||
			city == 'jeju-do'
		) {
			return city;
		} else return 'err';
	} else if (city == '서울') return 'Seoul';
	else if (city == '인천') return 'Incheon';
	else if (city == '경기' || city == '경기도') return 'Gyeonggi-do';
	else if (city == '부산') return 'Busan';
	else if (city == '대구') return 'Daegu';
	else if (city == '광주') return 'Gwanju';
	else if (city == '대전') return 'Daejeon';
	else if (city == '울산') return 'Ulsan';
	else if (city == '강원도') return 'Gangwon-do';
	else if (city == '충북' || city == '충청북도') return 'Chungcheongbuk-do';
	else if (city == '충남' || city == '충청남도') return 'Chungcheongnam-do';
	else if (city == '전북' || city == '전라북도') return 'Jeollabuk-do';
	else if (city == '전남' || city == '전라남도') return 'Jeollanam-do';
	else if (city == '경북' || city == '경상북도') return 'Gyeongsangbuk-do';
	else if (city == '경남' || city == '경상남도') return 'Gyeongsangnam-do';
	else if (city == '제주' || city == '제주도') return 'Jeju-do';
	else {
		return 'err';
	}
}
さまざまなコードもスムーズではなく、雑然としています.今度はもっときれいなコードを書きたいです.