This project uses the Open Weather Map API
Since this API doesn't let you search for the Locations available without getting their weather, and the only thing they do is give you a .json file with 19mb with this info, I built a quick NodeJS REST API that you can check here.
This projects uses the MVC architecture. I also used Webpack to bundle everything together, and used Babel to Transpile and Polyfill all the code. This project also uses SASS.
You can clone it and run:
npm install
npm run start
This will start a live-server with the project running. Dont forget to create a .env file with a CORS proxy and your API key. Format:
APIKEY = yourapikey
PROXY = https://cors-anywhere.herokuapp.com/