# Architecture Overview ```mermaid sequenceDiagram participant User participant Frontend as React SPA participant Backend as NestJS API participant Cache as In-Memory Cache participant MOEX as MOEX ISS User->>Frontend: Search / View instrument Frontend->>Backend: GET /api/v1/securities/search?q=SBER Backend->>Cache: getOrFetch('search:sber') alt Cache miss Cache->>Backend: null Backend->>MOEX: GET /iss/securities?q=SBER MOEX-->>Backend: raw data Backend->>Cache: set('search:sber', normalized, TTL=3600) else Cache hit Cache-->>Backend: cached data end Backend-->>Frontend: normalized response Frontend-->>User: rendered UI ```