Graphviz Example: system design

digraph MessageArchitecture {
messageClient
messageQueue[shape=rarrow]
messageBackend[shape=rectanble]
messageDB[shape=cylinder]
userService[shape=rectangle]
userDB[shape=cylinder]
pushNotifications[shape=octagon]
messageNotifier[shape=rectangle]
messageClient -> messageBackend[label=sendMessage]
messageBackend -> userService
userService -> userDB
messageBackend -> messageDB
messageDB -> messageQueue[label="change data captrure"]
messageQueue -> messageNotifier
messageNotifier -> pushNotifications
}
MessageArchitecture messageClient messageClient messageBackend messageBackend messageClient->messageBackend sendMessage messageQueue messageQueue messageNotifier messageNotifier messageQueue->messageNotifier messageDB messageDB messageBackend->messageDB userService userService messageBackend->userService messageDB->messageQueue change data captrure userDB userDB userService->userDB pushNotifications pushNotifications messageNotifier->pushNotifications