I am currently trying to thrash out the initial architecture for the Web Weather Display. I know that it will be split into multiple parts and use Microservice patterns as the starting point. This will take some time as I explore what items to add into the mix. I do know that I will need the following Microservices as a start:
- NGINX to separate out the web front end
- A web front end that can be displayed via NGINX
- A Service Registry Microservice with a pattern allowing switching between Microservices on the fly, across platforms and vlans
- A Database back end to record changes as they happen
- A Microservice to push data to the Database back end
- A Microservice for each of:
- OpenWeatherMap data extraction
- Tempest weather station data extraction
- NWS data extraction
- NOAA data extraction
- WeeWx data extraction
- A Microservice for extracting current weather in a format that can be easily displayed
- A Microservice for merging current weather information
- A Microservice for building graphs of weather over time
- A Microservice for interacting with other sensors
- WeeWx (optional) to extract data from sensors
- Defined Microservices
- service_def
- service_reg
- data_logger
- data_assemble
- data_gather
- web_assembly_proxy
- web_presentation
- MQTT
- Services that define the front end
- NGINX
- wordpress
- phpmyadmin
- mysql (mariadb)
- Services that provide temporal DB and graphs
- grafana
- influxdb
- Services for prototyping
- node-red-1
- node-red-2
- node-red-3
- Service for Docker control
- portainer