This project was bootstrapped with Create React App.
I wanted to create a weather app and who better to model that after than the people that talk about the weather 24/7? Living in a rural town, I've heard all sorts of comments and discussions on the weather and I've placed some of those comments in this mobile-first app to capture the essence of rural Australians.
Farmer Weather uses the MetaWeather API to proivide the data for locations anywhere. Upon search, the user will be given recommendations based on their input. These recommendations are provided by the usePlacesAutocomplete npm module. Use a custom react hook (useForecast) for the first time was really interesting and rendering components conditionally based on the custom hook.
The server for this project can be viewed here
- React.js
- Node.js / Express
- Axios
- MUI Library
Initally, I envisioned the project to be one page. However, As it progressed, it became more obviosu there would need to be more to it. This changed as time went on and the project progressed. The initial wireframe:
-
Working with MetaWeather API and usePlacesAutocomplete - the MetaWeather API uses woeIDs and then lat / long to get locations. It would be nice to have two versions of user input (one manually typed with an "Enter" pressed and one with the recommendations selected). Currently, the user will need to make a selection from the recommendations to get the weather.
-
Machine Learned messages - initially, the goal was to provide the user with a message that was done through Machine Learning. This is something I still have interest in and would love to action in futuer but due to time constraints, is not currently ready as of February, 2022.
User Input - as mentioned above, user input is a little fiddly. Currently, the user will have to select from the drop down recommendations to get the weather.
Persistence between sessions - in future, I will add persistent states os the user can come back and it saves their previsouly searched location. This was attempted briefly but was returning an incorrect weather forecast so was put on the backburner until after submission.
- Persistence between sessions (saved user location)\
- More active sayings / Machine learning for comments would be ideal and fun to explore
- More extensive weather data if the user clicks on a day.
