| id | overview |
|---|---|
| title | Architecture Overview |
| sidebar_label | Architecture |
Below is a C4-inspired diagram explaining the various componentry of the Sample Application. The DSL for the original C4 diagram is included in this repository (render with Structurizr Lite).
You can navigate to the individual codebases from this page.
Note: Diagram images are auto-generated from
workspace.dslby a GitHub Actions workflow when changes to that file are merged.
These diagrams are auto-generated from workspace.dsl via GitHub Actions.
| View | Description |
|---|---|
| Single Service | Reference data only |
| Multiple Services (no DB) | Web, Account, People, RefData |
| Multiple Services (with DB) | Adds Position service and Database |
| Multiple Services (no async) | Adds Trade Feed |
| Full System | Complete system |
flowchart LR
Trader[Trader] -->|Manage accounts, trades, positions| Web[Web GUI]
subgraph TraderX["Simple Trading System"]
Web
Account[Account Service]
Position[Position Service]
TradeSvc[Trade Service]
TradeProc[Trade Processor]
RefData[Reference Data Service]
People[People Service]
Feed[Trade Feed]
DB[(Database)]
end
UserDir[User Directory]
Web -->|REST| Account
Web -->|REST| Position
Web -->|REST| TradeSvc
Web -->|REST| RefData
Web -->|REST| People
Web -->|WebSocket| Feed
Account -->|SQL| DB
Position -->|SQL| DB
TradeProc -->|SQL| DB
TradeSvc -->|Publish| Feed
TradeProc -->|Consume/Publish| Feed
TradeSvc -->|Validate account| Account
TradeSvc -->|Validate ticker| RefData
Account -->|Validate people| People
People -->|LDAP| UserDir
See Also: Sequence Diagrams and Flows
