I had so much fun creating this application, although not from scratch, but I still learned ALOT!
I took a Web Based Application course from where I'm currently studying, where our professor showed us an example of a very simple weather app using OpenWeatherAPI.
https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API key}'
List of cities shown are pulled from a hard coded JSON file with their longitude and latitude, so when you click on it, the city's basic weather information displayed.
This course was my introduction to APIs, I really enjoyed learning about it, and it made me want to learn more about the weather API and about APIs in general. Then, I went on https://openweathermap.org/current to see what else I can do with the openweatherAPI. Upon reading the documentation, I found a endpoint which accepts city name as a parameter. That's how I started to work on this app.
https://api.openweathermap.org/data/2.5/weather?q={city name}&appid={API key}