# Component diagram (Azaion.Annotations) Derived from the **six-component** breakdown (user choice **B**: Annotations REST split from realtime + RabbitMQ sync). ```mermaid flowchart LR subgraph platform [06 Platform] DB[(PostgreSQL)] AUTH[JWT / refresh] PATH[Paths + errors] end subgraph media [03 Media] MAPI["/media"] end subgraph annRest [01 Annotations REST] ARAPI["/annotations REST + files"] end subgraph annRT [02 Annotations realtime and sync] SSE["SSE /events"] RMQ[RabbitMQ stream] end subgraph dataset [04 Dataset] DAPI["/dataset DATASET"] end subgraph settings [05 Settings and metadata] SAPI["/settings /classes"] end platform --> media platform --> annRest platform --> annRT platform --> dataset platform --> settings media --> annRest annRest --> annRT annRest --> dataset ``` **Shared source file:** `AnnotationsController.cs` is **split by concern** between **01** (REST + static files) and **02** (SSE `Events` action).