Skip to content

Container Diagram

This document describes the main containers of the system using the C4 Container level.

Containers

  • Backend API: Core logic for data ingestion, scheduled jobs to pull weekly data, strategy execution, trade logic and signal generation , and integration with brokers (Python-based).
    • Backtesting Module: Validates strategy performance
  • Database: Stores historical data, strategy configs, results, and logs (e.g., MongoDB, Parquet files).
  • Web UI: User interface for strategy management, analysis, and reporting (e.g., Svelte/Vue frontend).
  • CMS: Stores backtest strategy and algorithms and allows financial export to vett strategies (VitePress docs site)
  • External Services: Data providers, broker APIs, news/event feeds.
  • External Services: Data providers, broker APIs, news/event feeds, identity provider (Auth0 Free).
  • Hosting & Deployment:
    • ☁️ Barebones linux server & Deployment

Linux server - For low cost and open source friendly Docker – Containerize your app for portability Prefect – Workflow orchestration (e.g., weekly jobs) FastAPI – REST API for exposing strategy results Svelte / Vue – Interactive dashboards for visualization

Diagram

Interactions

  • Web UI communicates with Backend API via HTTP/REST.
  • Web UI authenticates with Auth0 using OIDC Authorization Code with PKCE; receives ID/Access tokens.
  • Backend API validates incoming bearer JWTs using Auth0 JWKS and enforces scopes/roles (as needed).
  • Backend API fetches data from external services and stores results in the database.
  • Backend API sends trade orders to broker APIs.

Documentation generated with VitePress