flowchart LR subgraph orteliusUI[Ortelius Web Frontend] direction LR h3[Browser: JavaScript, JQuery, JSP]:::type d3[Provides all of the Unified Evidence Store\nfuctionality to customers via their\nweb browser]:::description end orteliusUI:::internalContainer subgraph orteliusCLI[Ortelius Command Line Interface] direction LR h4[Python: CLI]:::type d4[Provides the ability to add supply chain data\nfrom the CI/CD Pipeline\nto the Unified Evidence Store]:::description end orteliusCLI:::internalContainer subgraph database[Database] direction LR h6[Container: Postgres Database Schema]:::type d6[Stores supply chain information, \n service information, \n SBOMs, etc]:::description end database:::internalContainer orteliusUI<--Make API calls to-->nginxReverseProxy orteliusCLI<--Make API calls to-->nginxReverseProxy nginxReverseProxy<--Forwards API calls to-->monolithGeneral nginxReverseProxy<--Forwards API calls to-->monolithUI nginxReverseProxy<--Forwards API calls to-->msTextFile nginxReverseProxy<--Forwards API calls to-->msCompItem nginxReverseProxy<--Forwards API calls to-->msDepPkgR nginxReverseProxy<--Forwards API calls to-->msDepPkgCUD subgraph apiApplication[API Application] subgraph nginxReverseProxy[NGINX Reverse Proxy] direction LR h10[Component: NGINX]:::type d10[Routes incoming API calls to the correct\n back-end container]:::description end nginxReverseProxy:::internalComponent subgraph monolithGeneral[Legacy General Database Interface] direction LR h20[Component: Legacy General Database Interface]:::type d20[Tomcat App that is the legacy monolith to\n persist/retrieve data into Postgres]:::description end monolithGeneral:::internalComponent subgraph monolithUI[Front-end Provider] direction LR h30[Component: Serves up static content and jsp pages]:::type d30[Tomcat App provides the Javascript, JSP, html etc\n to the browser for rendering the web pages]:::description end monolithUI:::internalComponent subgraph msValidateUser[Validate User] direction LR h40[Component: Validate User Login]:::type d40[Microservice that validates if a user is\n logged in or not]:::description end msValidateUser:::internalMS subgraph msTextFile[TextFiles] direction LR h50[Component: Text File CRUD]:::type d50[Microservice that persists/retrieves\n License, Readme, and Swagger files]:::description end msTextFile:::internalMS subgraph msCompItem[Component Item Details] direction LR h60[Component: Component Item CRUD]:::type d60[Microservice that persists/retrieves\n of Component Detail\n such a Git SHA, Docker SHA, Docker Repo etc]:::description end msCompItem:::internalMS subgraph msDepPkgCUD[SBOM Create Update Delete] direction LR h70[Component: Dependency Package CUD]:::type d70[Microservice that persists\n SBOM for a Component Version]:::description end msDepPkgCUD:::internalMS subgraph msDepPkgR[SBOM Read] direction LR h80[Component: Dependency Package R]:::type d80[Microservice that retrieves\n of SBOM Packages, Licenses and CVEs\n for a Component Version]:::description end msDepPkgR:::internalMS msTextFile<--Uses-->msValidateUser msCompItem<--Uses-->msValidateUser msDepPkgR<--Uses-->msValidateUser msDepPkgCUD<--Uses-->msValidateUser end monolithGeneral<--Reads from and \n writes to-->database msValidateUser<--Reads from and \n writes to-->database msTextFile<--Reads from and \n writes to-->database msCompItem<--Reads from and \n writes to-->database msDepPkgR<--Reads from---database msDepPkgCUD--Writes to-->database %% Element type definitions classDef internalContainer fill:#1168bd classDef internalComponent fill:#4b9bea classDef internalMS fill:#4b9bea classDef type stroke-width:0px, color:#fff, fill:transparent, font-size:12px classDef description stroke-width:0px, color:#fff, fill:transparent, font-size:13px