# ADR-001: Backend — Single Point of Access to MOEX **Status:** Accepted **Date:** 2026-06-13 **Deciders:** Architect, Tech Lead ## Context Frontend должен отображать данные Московской биржи. MOEX ISS API отдаёт сырые данные со сложной структурой (вложенные таблицы, различные форматы). Прямые запросы с фронта приведут к дублированию логики нормализации, усложнят обработку ошибок и сделают систему зависимой от внешнего API. ## Decision Backend (NestJS) является единственной точкой доступа к MOEX. Frontend никогда не обращается к MOEX напрямую. Backend: - Проксирует запросы к MOEX ISS - Нормализует данные в доменные модели - Кеширует ответы - Обрабатывает ошибки MOEX (пустые данные, rate limit, таймауты) - Предоставляет собственный OpenAPI-контракт для фронта ## Consequences - Единый источник правды для трансформации данных - Изоляция изменений MOEX API — меняется только MoexClient - Централизованное кеширование сокращает количество запросов к MOEX - Фронтенд остаётся тонким клиентом - Дополнительная задержка (один hop), но нивелируется кешированием