Skip to content

Latest commit

 

History

History
66 lines (43 loc) · 2.9 KB

README.md

File metadata and controls

66 lines (43 loc) · 2.9 KB

Weather App Task

Please build a single HTML page displaying the 5-day weather forecast for a location of your choice.

  • We believe a good solution can be created in around 4 hours, but feel free to spend as little or as much time as you like. You do not have to complete the entire exercise.
  • Use the latest specs of HTML, CSS and ECMAScript to implement the solution. At this time, these would be HTML5, CSS3 and ES2016.
  • Use the OpenWeatherMap 5 day weather forecast API to retrieve the current 5-day weather forecast.
  • Give some thought to what will make a decent user experience. We would like to see something readable but with no need to go all out on sleek and flashy UI elements.
  • Use any supporting technologies, frameworks, package managers, starter kits, build systems and libraries that you are familiar with and feel are appropriate.
  • Ensure your code has comprehensive unit tests and does not have any lint errors, otherwise your solution will not be reviewed.
  • Assuming a Node.js environment with the latest version installed, please ensure that there are no globally installed dependencies required to build/run your app. If you have to have them please explain why. This avoids environment issues when trying to build your solution.
  • Provide a README.md file that: Documents how to run/build/test your creation.
  • Documents anything you might implement with more time (features, fixes, technical debt, corrections etc.)
  • Submit your code into a public git repository of your choice (Github / Bitbucket etc.)
  • Host your code on a public web server of your choice.

Demo

I use following library and module for this task

  • React — A virtual DOM JavaScript library for rendering UI.
  • Redux — An incredibly simple way of modelling your data app state.
  • Webpack — Client-side module builder and module loader
  • React Router Redux — Simple bindings to keep React Router and Redux in sync
  • Yarn — Package manager and task runner
  • Babel — Transpiler from ES6 / JSX to ES5
  • ESLint — As a reporter for syntax and style issues

Getting Started

Installation

git clone https://github.com/nisargrthakkar/buildit-weather-app.git
cd buildit-weather-app
yarn install
yarn start

Development

Build for Development:

$ yarn build:dev

Start Server for Development:

$ yarn server:dev

Build for Production:

$ yarn build:prod

Start Server for Production:

$ yarn server:prod

Hot reloading via webpack middlewares:

$ yarn start

Point your browser to http://localhost:8080/, page hot reloads automatically when there are changes