docs/diagrams/architecture.puml
@startuml
skinparam rectangle {
BorderStyle<<MainGrp>> dashed
}
left to right direction
hide stereotype
rectangle " " as main <<MainGrp>> {
component DFSDatasafeService as svc
together {
rectangle " " as sys <<MainGrp>> {
component DFSConnection as sys.conn
database "SYSTEM DFS" as sys.db
frame sys.frame [
For each user (user space):
- keystore (public)
- user protected: INBOX
- user protected: user's DFS credentials
- free: PUBLIC KEYs
]
sys.conn --[hidden] sys.db
sys.db -right-> sys.frame
}
node users {
rectangle " " as usr1 <<MainGrp>> {
component DFSConnection as usr1.conn
database "USER DFS" as usr1.db
frame usr1.frame [
- keystore (private)
- user protected: private user data
]
usr1.conn --[hidden] usr1.db
usr1.db -right-> usr1.frame
}
rectangle " " as usr2 <<MainGrp>> {
component DFSConnection as usr2.conn
database "USER DFS" as usr2.db
frame usr2.frame [
- keystore (private)
- user protected: private user data
]
usr2.conn --[hidden] usr2.db
usr2.db -right-> usr2.frame
}
}
}
svc --[hidden] users
svc --[hidden] sys
}
@enduml