Full xAPI pipeline — click any layer for tooling and failure modes
flowchart TD subgraph L1[Browser] Comp["Component"]:::browser Client["Client Library"]:::browser Queue[("Offline Queue")]:::browser end subgraph L2[LRS] Endpoint["Statement Endpoint"]:::lrs Storage[("Storage")]:::lrs QueryAPI["Query API"]:::lrs end subgraph L3[Analytics] Stream["Stream Processor"]:::analytics OLAP[("OLAP Store")]:::analytics end subgraph L4[Dashboards] Dash["Grafana / Observable"]:::dash end Comp --> Client --> Queue --> Endpoint Endpoint --> Storage --> QueryAPI Storage --> Stream --> OLAP --> Dash click Comp call showNode("Comp") click Client call showNode("Client") click Queue call showNode("Queue") click Endpoint call showNode("Endpoint") click Storage call showNode("Storage") click QueryAPI call showNode("QueryAPI") click Stream call showNode("Stream") click OLAP call showNode("OLAP") click Dash call showNode("Dash") classDef browser fill:#1e293b,stroke:#0f172a,color:#fff,font-weight:bold classDef lrs fill:#dc2626,stroke:#7f1d1d,color:#fff,font-weight:bold classDef analytics fill:#7c3aed,stroke:#4c1d95,color:#fff,font-weight:bold classDef dash fill:#16a34a,stroke:#14532d,color:#fff,font-weight:bold linkStyle default stroke:#64748b,stroke-width:2px

Layer Details

Click any node for its responsibility, tooling, latency budget, and failure mode.