Skip to main content

Architecture (State 002 Edge Proxy Uncontainerized)

State 002 keeps uncontainerized services and introduces an edge proxy as the single browser-facing entrypoint.

  • Inherits architectural baseline from: 001-baseline-uncontainerized-parity
  • Generated from: system/architecture.model.json
  • Canonical flows: ../001-baseline-uncontainerized-parity/system/end-to-end-flows.md

Entry Points​

  • edge-proxy: http://localhost:18080
  • angular-upstream: http://localhost:18093

Architecture Diagram​

Diagram source
flowchart LR
  trader["Trader Browser"]
  edge["Edge Proxy"]
  web["Web Front End Angular"]
  account["Account Service"]
  position["Position Service"]
  tradeService["Trade Service"]
  referenceData["Reference Data"]
  people["People Service"]
  tradeFeed["Trade Feed"]
  tradeProcessor["Trade Processor"]
  database["Database"]
  trader -->|"Single browser entrypoint"| edge
  edge -->|"/"| web
  edge -->|"/account-service"| account
  edge -->|"/position-service"| position
  edge -->|"/trade-service"| tradeService
  edge -->|"/reference-data"| referenceData
  edge -->|"/people-service"| people
  edge -->|"/socket.io"| tradeFeed
  tradeService -->|"Validate account"| account
  tradeService -->|"Validate ticker"| referenceData
  tradeService -->|"Publish trades/new"| tradeFeed
  tradeProcessor -->|"Consume and publish updates"| tradeFeed
  tradeProcessor -->|"Persist trade/position state"| database
  account -->|"Validate person for account-user mapping"| people
  account -->|"Account persistence"| database
  position -->|"Query trades/positions"| database

Node Catalog​

NodeKindLabelNotes
traderactorTrader BrowserUser enters only through edge proxy.
edgegatewayEdge ProxySingle browser-facing origin.
webfrontendWeb Front End AngularServed behind edge proxy.
accountserviceAccount ServiceAccount and account-user CRUD.
positionservicePosition ServiceTrades and positions query endpoints.
tradeServiceserviceTrade ServiceTrade submission and validation.
referenceDataserviceReference DataTicker lookup/list.
peopleservicePeople ServiceDirectory lookup and validation.
tradeFeedmessagingTrade FeedSocket.IO publish/subscribe bus.
tradeProcessorserviceTrade ProcessorProcesses new trades and updates positions.
databasedatabaseDatabasePersistent account, trade, and position state.

State Notes​

  • State 002 preserves baseline functional flows F1-F6.
  • Primary delta is topology and origin model, not business behavior.