@startuml
package "Local network devices" {
[some reader of sensor data 1]
[some reader of sensor data 2]
}
package "Another pi" {
[Sensor reader Python app]
}
package "Raspberry Pi" {
[IOT-pi Java Spring Boot]
[Java Quartz scheduled data mover]
database "tiny Derby database"
}
cloud "Cloud service" {
[Cloud data acceptor service]
database "cloud PostgreSQL database"
[Alarm service]
[Dashboards]
}
[some reader of sensor data 1] --> [IOT-pi Java Spring Boot]
[some reader of sensor data 2] --> [IOT-pi Java Spring Boot]
[Sensor reader Python app] --> [IOT-pi Java Spring Boot]
[IOT-pi Java Spring Boot] --> [tiny Derby database]
[tiny Derby database] --> [Java Quartz scheduled data mover]
[Java Quartz scheduled data mover] --> [Cloud data acceptor service]
[Cloud data acceptor service] --> [cloud PostgreSQL database]
[cloud PostgreSQL database] --> [Alarm service]
[cloud PostgreSQL database] --> [Dashboards]
@enduml