Configuring

Customize your setup here.

graph TD

  %% Actors
  Customer["Customer: A client who is looking to make an order"]
  Warehouse["Warehouse operator: Delivers goods and updates stocks"]
  Accountant["Accountant: Needs data from the system for reports"]

  %% Components
  WebApp["Web Application\n[React JS]\nProvides order & report functionality"]
  MobileUserApp["Mobile App for Users\n[React Native]\nProvides order functionality"]
  MobileOpsApp["Mobile App for Operators\n[React Native]\nProvides shipping functionality"]
  APIApp["API Application\n[Express.js]\nHandles order, warehouse, reports"]
  ETL["ETL System\n[Anybyte / Node.js]\nExtracts and transforms data"]
  DB["Database\n[MongoDB & S3]\nStores account, order, shipping, invoice data"]
  Analytics["Analytics App\n[Snowflake]\nProvides reports for accountants"]

  %% Flows
  Customer --> WebApp
  Customer --> MobileUserApp

  WebApp -->|JSON/HTTPS API call| APIApp
  MobileUserApp -->|JSON/HTTPS API call| APIApp
  MobileOpsApp -->|JSON/HTTPS API call| APIApp

  APIApp --> DB
  APIApp --> MobileOpsApp
  MobileOpsApp --> Warehouse

  DB -->|Data every 5 min| ETL
  ETL -->|Transformed data| Analytics
  Accountant --> Analytics


flowchart LR
  %% Define swimlanes as subgraphs
  subgraph CustomerLane [Customer]
    A1[Send order] --> A2[Get confirmation]
  end

  subgraph OperatorLane [Warehouse Operator]
    B1[Receive order] --> B2[Ship item]
  end

  subgraph AccountantLane [Accountant]
    C1[Receive report] --> C2[Generate invoice]
  end

  %% Cross-lane connections
  A2 --> B1
  B2 --> C1
graph TD
  A[Home Page] --> B[Docs]
  B --> C[GitHub]
  C --> D[Contact Us]

  click A "https://example.com"
  click B "https://example.com/docs"
  click C "https://github.com/example"