Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add another implementation of Weather Client using publicly-available weather API #65

Open
calvinmclean opened this issue Feb 16, 2023 · 0 comments
Labels
enhancement New feature or request needs more detail Issue requires more detail or discussion server Related to the Go garden-app code

Comments

@calvinmclean
Copy link
Owner

calvinmclean commented Feb 16, 2023

Description

Add another implementation of weather.Client that uses a publicly-available weather API to remove the current hardware barrier for weather-based watering.

Open Weather Map
Wunderground

Requirements

  • Allow disabling certain features of the client (maybe disable rain data if an API doesn't provide reliable data). An option for implementing this would be to have multiple interfaces and use an assertion to check if methods are available. Other option is to have empty implementation of these methods.
  • Add new interfaces to Weather Client to implement support for certain features: ForecastClient and HistoricalClient

Open Questions

  • Consider adding support for multiple Weather Clients because this allows using
    • This will be tricky to implement in a clean way
  • Consider adding support for forecasting data instead of just historical data
    • This relates to the requirement of adding clients that are partial implementations since some services might have forecast data only (or no forecast data)
    • This also relates to multiple Weather Clients, especially if some are partial implementations
@calvinmclean calvinmclean added enhancement New feature or request server Related to the Go garden-app code needs more detail Issue requires more detail or discussion labels Feb 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs more detail Issue requires more detail or discussion server Related to the Go garden-app code
Projects
None yet
Development

No branches or pull requests

1 participant