Architecture documentation¶
This section of the documentation contains architecture docs, following the C4 documentation model.
System Context¶
The system context shows the relationships between the system that Enthought is building and the external system components that it interacts with. It also briefly details the relationships between users and developers associated with the project.
Notice that there are really two layers of system context here: one boundary separates the customer from Enthought-internal projects, and another separates the Edge team from other Enthought teams.
Containers¶
The container level expands the "Edge" system from the previous diagram and fills out the separate parts making up the system. While items at the container level are generally assumed to be separately deployable, here we split out the API into its own container, due to the fact that it can also be used meaningfully outside the context of a GUI application.
Components¶
The third level of the C4 architecture diagram gives some insight into the structure of the individual applications. Some personas from the upper levels are also split into more specialised roles. These roles are not mutually exclusive, for example someone who uses the Edge Application as a "Data Modeller" may also interact with the app as a "Researcher" or "Data Scientist".
The final (code) level of the architecture is not represented in a diagram, as it is already covered by the design documentation for the project, along with the autogenerated API documentation.