A small weather application built with Gatsby and the Open Weather API.
- Review the requirements
- Quick sketch
- Validate sketches, and compare to current apps.
- Iterate sketch
- Compare to my own preferred mobile app
- Review the API docs
- Choose a JS framework
- Needs to run very fast, so keep it simple
- Nice to have geolocation option to quickly find local weather
- Potential to add hinted dropdown when searching by city for convenience and to match API requirements
- Celsius vs Fahrenheit switcher
- Local storage to remember your last searched city for convenience
- Potential to drill down each day to hourly outlook
- For temperature in Fahrenheit use units=imperial (main.temp)
- For temperature in Celsius use units=metric (main.temp)
- City is under name prop
- Country code is under country
- clouds.all percent of cloudiness
- weather[].icon to retrieve icon (weather can be an array)
- weather[].main to retrieve conditions
- weather[].description to retrieve weather description
- Search Form
- Large card for today’s weather
- Small cards for remaining days
- Slider for hourly today (not used)
- API request
- Geolocation functionality
- Local Storage to save last search
- API service (axiom)
- JSON file for city codes and hinted search (not using)
- Gatsby with React for quick DOM updates and easy state management