-
Notifications
You must be signed in to change notification settings - Fork 0
/
system_overview.puml
60 lines (46 loc) · 1.01 KB
/
system_overview.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
@startuml
title Traffic Light Controller - Component Diagram
cloud Internet {
package "jackhiggins.ie" {
interface "DNS Records" as DNS
}
package "GitHub Pages" {
component [Hosted\nStatic Files] as Hosted
}
}
package "LAN" {
node "Client" {
package "Webapp" {
[State] as WebState
[UI]
interface "WebSocket\nClient" as WSC
}
}
package "Traffic Light" {
node "ESP8266" {
[Timing Logic] as Timing
[I/O logic] as IO
[State]
interface "WebSocket\nServer" as WSS
interface "REST API\nServer" as REST
interface "HTTP Proxy" as HTTP
}
[Sensors]
[Solid-State\nRelay] as Relay
}
}
WebState -> UI
Sensors -up-> IO
HTTP -up-( DNS
DNS -> Hosted
Timing -> IO
State -> Timing
IO -up-> WSS
REST -down-> State
REST -> IO
WSC -down-( WSS
WSC -> WebState
UI -( HTTP
IO -down-> Relay
UI -down-( REST
@enduml