Yandex Weather Forecast

A responsive weather-checking application with Yandex Maps integration. Built using TypeScript and Sass, it fetches real-time weather data from the OpenWeather API.

Why Yandex ?

Yandex Maps and Google Maps are both powerful mapping tools, but they cater to slightly different needs and come with distinct pricing structures. Here’s a quick comparison:

FeatureYandex MapsGoogle Maps
Pricing$0.0000075 per request$0.0000185 per request
CoverageWorldwideLimited to US, Canada, and several other countries
FeaturesMore detailed coverage, better localization, and additional featuresLess detailed coverage, fewer localized features, and fewer features overall
SupportMore comprehensive coverage, better localization, and additional featuresLess comprehensive coverage, fewer localized features, and fewer features overall

A responsive weather-checking application that integrates with Yandex Maps for location-based weather information. The app leverages the OpenWeather API to fetch real-time weather data and supports browsing cities dynamically.

  • Built with TypeScript & Sass
  • Integrated with Yandex Maps
  • Dynamic city list using country-state-city package

Requirements

  • Node Version: v14.17 or higher

This project was bootstrapped with Create React App.

Features

  • OpenWeather API Integration: Fetches real-time weather details.
  • Dynamic City Listings: Uses country-state-city package for fetching city data by country.
  • Responsive UI: Fully functional on desktop and mobile screens.
  • Yandex Maps: Displays locations interactively on a map.

Getting Started

1. Install Dependencies

Run the following command to install all necessary packages:

npm install

This installs dependencies needed for running React scripts in development mode, including:

  • react-yandex-maps
  • country-state-city (used to fetch city lists dynamically)

If you prefer not to use country-state-city, you can utilize the static CITIES data stored in /mock.tsx.

2. Start the Development Server

Start the application in development mode:

npm start

3. Handling Common Issues

OpenWeather API Response Status 429

The OpenWeather API Free Tier is limited to 60 requests per minute. If you encounter a status 429 error:

  1. Register for an OpenWeather API key at OpenWeather API.
  2. Update the .env file by setting the REACT_APP_API_KEY variable to your API key.

More Details

Weather API Response Models

Refer to the OpenWeather API Documentation for details on the response format.

Repository

The full source code is available on GitHub: https://github.com/yagiz-aydin/weather-app-client