Created
June 29, 2020 01:02
-
-
Save justiandre/c7d0ea6ef42f9d7c18f7e0e920863f2a to your computer and use it in GitHub Desktop.
Model C4 - UCS systems
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@startuml | |
!include <C4/C4_Context.puml> | |
!include <C4/C4_Container.puml> | |
!include <office/Users/user.puml> | |
LAYOUT_WITH_LEGEND() | |
title UCS - High Level | |
Person(OperatorMeli, Operator Meli, "<$user>") | |
System_Boundary(Fury, "Fury") { | |
System_Boundary(Backoffice, "Backoffice") { | |
System_Boundary(UCSFrontend, "UCS Frontend Module") { | |
Container(UCSFrontendRegistry, "Registry","JS + Nordic") | |
Container(UCSFrontendSorter, "Sorter","JS + Nordic") | |
Container(UCSFrontendSorterEvents, "Sorter Events","JS + Nordic") | |
} | |
} | |
System_Boundary(UCSRegistry, "UCS Registry") { | |
Container(Registry, "Registry", "Golang") | |
ContainerDb(RegistryDB, "Database", "MySQL") | |
} | |
System_Boundary(UCSSorter, "UCS Sorter") { | |
Container(Sorter, "Sorter", "Golang") | |
ContainerDb(SorterDB, "Database", "MySQL") | |
} | |
System_Boundary(UCSSorterEvents, "UCS Sorter Events") { | |
Container(SorterEvents, "Sorter Events", "Golang") | |
ContainerDb(SorterEventsDB, "Database", "MySQL") | |
} | |
System_Boundary(UCSMeasures, "UCS Measures") { | |
Container(Measures, "Measures", "Golang") | |
} | |
System_Boundary(UCSPrinter, "UCS Printer") { | |
Container(Printer, "Printer", "Golang") | |
} | |
System_Boundary(UCSDeviceState, "UCS Device State") { | |
Container(DeviceState, "DeviceState", "Golang") | |
} | |
System_Boundary(BigQ, "BigQ") { | |
System_Ext(BigQTopic, "Topic") | |
System_Ext(BigQConsumer, "Consumer") | |
} | |
System_Ext(OtherMeliApps, "Other Meli Apps") | |
} | |
System_Boundary(LogisticCenter, "Logistic Centers") { | |
Container(LogisticCenterPrinters, "Printers", "Device") | |
Container(LogisticCenterSorters, "Sorters", "Backend") | |
} | |
' Users > Frontend | |
Rel(OperatorMeli, UCSFrontendRegistry, "Manages Devices") | |
Rel(OperatorMeli, UCSFrontendSorter, "Manages Sorter") | |
Rel(OperatorMeli, UCSFrontendSorterEvents, "Analyzes metrics of Sorter") | |
' Frontend > API | |
Rel(UCSFrontendRegistry, Registry, "Manages Devices") | |
Rel(UCSFrontendRegistry, DeviceState, "Updates Device status") | |
Rel(UCSFrontendSorter, Sorter, "Manages Sorter settings") | |
Rel(UCSFrontendSorterEvents, SorterEvents, "Recovers metrics from Sorter") | |
' API > API | |
Rel(Printer, Registry, "Recovers Printer settings") | |
Rel(Sorter, Registry, "Recovers Sorter settings") | |
Rel(Sorter, Measures, "Send Measures") | |
' API > DB | |
Rel_Back_Neighbor(RegistryDB, Registry, "Reads from and writes to") | |
Rel_Back_Neighbor(SorterDB, Sorter, "Reads from and writes to") | |
Rel_Back_Neighbor(SorterEventsDB, SorterEvents, "Reads from and writes to") | |
' API > LogisticCenter | |
Rel(Printer, LogisticCenterPrinters, "Send Print") | |
Rel(Sorter, LogisticCenterSorters, "Send ramp configuration per package") | |
Rel(LogisticCenterSorters, Sorter, "Sends events that occurred in the sorter") | |
' API > BigQ | |
Rel_Back_Neighbor(BigQTopic, BigQConsumer, "Send messages") | |
Rel(Sorter, BigQTopic, "Send messages") | |
Rel(BigQConsumer, SorterEvents, "Read messages") | |
Rel(Measures, BigQTopic, "Send messages") | |
Rel(BigQConsumer, Measures, "Read messages") | |
' OtherMeliApps > API | |
Rel(OtherMeliApps, Registry, "Recovers device informations") | |
Rel(OtherMeliApps, Printer, "Send Print request") | |
Rel(OtherMeliApps, Sorter, "Send package configurations") | |
@enduml |
Author
justiandre
commented
Jun 29, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment