Skip to content

Container Diagrams

Executive Summary

Container Diagrams provides C4-style Level 2 diagrams for the Algosure logical container architecture. These diagrams describe container responsibilities and relationships only; they do not define final deployment or infrastructure configuration.

Why This Exists

The system context identifies the external environment around Algosure. The container diagrams show how Algosure is logically decomposed into applications, backend, data stores, AI containers, integration containers, and external dependencies.

Owner

The owner is the Chief Product Officer and Enterprise Architect.

Business Value

The diagrams provide a shared visual architecture baseline for engineering, AI, data, security, integration, and product planning.

Primary Container Diagram

flowchart TB
    subgraph Users["External Actors"]
        CEO[Customer Organization / CEO]
        OrgUsers[Organization Users]
    end

    subgraph Algosure["Algosure Logical Containers"]
        Mobile[Mobile App]
        Web[Web App]
        Backend[Spring Boot Modulith Backend]
        AIOS[AI Orchestration Service]
        AIGateway[AI Provider Gateway]
        Integration[Integration Gateway]
        Notify[Notification Service and Channel Adapters]
        Payment[Payment Provider Integration]
        Postgres[(PostgreSQL)]
        Redis[(Redis)]
        ObjectStore[(Object / Document Storage)]
        Search[(Search Index)]
        Vector[(Vector Store / Semantic Memory Store)]
        Warehouse[(Future Analytics Warehouse)]
    end

    subgraph External["External Systems"]
        Tender[Public and Private Tender Sources]
        Authorities[Government and Compliance Authorities]
        Productivity[Email, Storage, Signature, and Messaging Platforms]
        Commercial[Funding and Marketplace Providers]
        PaymentProvider[External Payment Provider]
        AIProviders[External AI Providers]
        Future[Future Government and Country-Specific Integrations]
    end

    CEO --> Mobile
    CEO --> Web
    OrgUsers --> Mobile
    OrgUsers --> Web
    Mobile --> Backend
    Web --> Backend
    Backend --> AIOS
    AIOS --> AIGateway
    AIGateway --> AIProviders
    Backend --> Integration
    Backend --> Notify
    Backend --> Payment
    Integration <--> Tender
    Integration <--> Authorities
    Integration <--> Productivity
    Integration <--> Commercial
    Integration <--> Future
    Notify <--> Productivity
    Payment <--> PaymentProvider
    Backend --> Postgres
    Backend --> Redis
    Backend --> ObjectStore
    Backend --> Search
    Backend --> Vector
    Backend --> Warehouse
    AIOS --> Vector
    AIOS --> ObjectStore

Application and Domain Container Diagram

flowchart TB
    Mobile[Mobile App]
    Web[Web App]
    Backend[Spring Boot Modulith Backend]

    subgraph BackendModules["Backend Logical Areas"]
        API[API and Contract Layer]
        Security[Security, Tenant Isolation, and Audit]
        Domains[Domain Modules and Bounded Contexts]
        Workflow[Workflow and Process Layer]
        Events[Event Layer]
        AIOSBridge[AIOS Coordination]
        IntegrationBridge[Integration Coordination]
    end

    Mobile --> API
    Web --> API
    API --> Security
    Security --> Domains
    Domains --> Workflow
    Domains --> Events
    Workflow --> AIOSBridge
    Events --> IntegrationBridge
    Backend --> API

Data Container Diagram

flowchart LR
    Backend[Spring Boot Modulith Backend]
    AIOS[AI Orchestration Service]
    Events[Event Layer]

    Postgres[(PostgreSQL)]
    Redis[(Redis)]
    ObjectStore[(Object / Document Storage)]
    Search[(Search Index)]
    Vector[(Vector Store / Semantic Memory Store)]
    Warehouse[(Future Analytics Warehouse)]

    Backend --> Postgres
    Backend --> Redis
    Backend --> ObjectStore
    Backend --> Search
    Backend --> Vector
    AIOS --> Vector
    AIOS --> ObjectStore
    Events --> Search
    Events --> Warehouse

AI Container Diagram

flowchart TB
    Backend[Spring Boot Modulith Backend]
    AIOS[AI Orchestration Service]
    Professionals[Digital Professionals]
    Gateway[AI Provider Gateway]
    Providers[External AI Providers]
    Vector[(Vector Store / Semantic Memory Store)]
    Documents[(Object / Document Storage)]
    Human[Human Approver]

    Backend --> AIOS
    AIOS --> Professionals
    Professionals --> AIOS
    AIOS --> Gateway
    Gateway --> Providers
    AIOS --> Vector
    AIOS --> Documents
    AIOS --> Backend
    Backend --> Human
    Human --> Backend

Integration Container Diagram

flowchart LR
    Backend[Spring Boot Modulith Backend]
    Integration[Integration Gateway]
    Notify[Notification Service and Channel Adapters]
    Payment[Payment Provider Integration]
    AIGateway[AI Provider Gateway]

    Tender[Public and Private Tender Sources]
    Authorities[SARS, CIPC, CSD, CIDB, COIDA, B-BBEE Agencies]
    Productivity[Gmail, Outlook, Google Drive, OneDrive, DocuSign, WhatsApp]
    Funding[Funding Partners]
    Marketplace[Marketplace Providers]
    PaymentProvider[External Payment Provider]
    AIProviders[External AI Providers]
    Future[Future Government and Country-Specific Integrations]

    Backend --> Integration
    Backend --> Notify
    Backend --> Payment
    Backend --> AIGateway
    Integration <--> Tender
    Integration <--> Authorities
    Integration <--> Productivity
    Integration <--> Funding
    Integration <--> Marketplace
    Integration <--> Future
    Notify <--> Productivity
    Payment <--> PaymentProvider
    AIGateway <--> AIProviders

Diagram Notes

  • These are C4 Level 2 logical container diagrams.
  • Containers are logical application, service, data store, or gateway boundaries, not final deployment units.
  • The Spring Boot Modulith backend remains the core container for DDD modules and workflow coordination.
  • AIOS runs through governed AI containers and does not own source domain facts.
  • Integration containers mediate external systems and translate external interaction into domain-owned meaning.
  • Data containers support source facts, documents, cache, search, semantic memory, and future analytics without replacing Domain ownership.
  • Tenant isolation, security, auditability, and event governance apply across every container boundary.