mmanela / react-weather-app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Weather App - React Frontend - Showcase Project

Project Requirements

Build a React app to display weather information. The UI implementation should prompt for a location, and display the resulting weather.

Working Demo

https://react-weather-app-871a0.firebaseapp.com

Version

0.0.1

Instructions for usage

  • Navigate to URL
  • Start typing in your city name, and pick a result from the suggestions

Weather APIs

Implementation Caveats

  • The API keys are hard-coded in config.ts. Since there doesn't seem to be a way in accuweather to limit the keys to certain domains, In a true system, there would be a wrapper back-end API, where the API keys would be, so that they're not exposed to the front-end
  • The accuweather API only gives suggestions for cities, for example, Houston. Typing in Houston, TX does not return any results

Tech

  • React - A JavaScript library for building user interfaces
  • Redux - A predictable state container for JavaScript apps.
  • React-Redux - Official React bindings for Redux
  • Redux Thunk - Thunk middleware for Redux.
  • Material UI - React components that implement Google's Material Design.
  • Lodash - A modern JavaScript utility library delivering modularity, performance & extras.
  • Typescript - An open-source language which builds on JavaScript.
  • Jest - Delightful JavaScript Testing.

Running locally

Todo's

  • Add additional unit tests, specifically for the LocationSearch component
  • Better error handling, specifically displaying an error message if we've exceeded the AccuWeather API limit

About


Languages

Language:TypeScript 91.6%Language:HTML 6.8%Language:CSS 1.4%Language:JavaScript 0.3%