Files
nextjs-template/ai/nextjs-style-guide/data/index.md
S.Gromov f2358da397 docs: добавить стайлгайд nextjs-style-guide в репозиторий
- Добавлена документация SLM-архитектуры, базовых правил и прикладных разделов
- Добавлены разделы: стили, SVG-спрайты, шаблоны генерации, PostCSS, REST, Realtime
- Удалены устаревшие файлы (спрайты, скрипты, стили из app/)
2026-04-30 19:32:10 +03:00

5.6 KiB
Raw Blame History

title, description, keywords
title description keywords
Источники данных Какие источники данных используются в проекте и как с ними работать.
данные
api
rest
realtime
клиент
swr
infrastructure
введение
карта раздела

Источники данных

Какие источники данных используются в проекте и как с ними работать.

Принципы раздела

  • Клиент — в infrastructure/. Каждый внешний сервис — отдельный модуль слоя infrastructure/{service-name}/.
  • Прямой fetch запрещён. Запросы идут только через клиент модуля. Исключения — точечные и обоснованные.
  • Источник данных диктует канал. REST, realtime и т.п. — независимые подразделы, у каждого своя модель клиента и своё потребление.
  • Серверные и клиентские компоненты потребляют по-разному. Server Components — прямой await метода клиента, клиентские — через готовые GET-хуки REST-клиента (useGetUserList, useGetPostDetail и т.п.). SWR инкапсулирован в хуке, компонент про него не знает.

Карта раздела

REST

Канал «запрос-ответ» по HTTP. Покрывает большинство API.

Realtime

Канал push-данных: WebSocket, SSE, событийные шины. Транспорт не зашит в правила — важна абстракция «подписка».

  • Realtime — клиент realtime в infrastructure/, потребление через useSWRSubscription или прямые подписки.

Что даёт раздел

После прочтения раздела понятно:

  • Где живёт код работы с API и почему именно там.
  • Когда генерировать клиент автоматически, а когда писать вручную, и как структурирован каждый из вариантов.
  • Какие GET-хуки относятся к REST-клиенту и почему они живут в infrastructure/{service-name}/hooks/.
  • Как выбрать стратегию получения REST-данных под конкретную ситуацию.
  • Как подключать realtime-источники в общую модель работы с данными.
  • Какие правила обязательны и какие отклонения допустимы.

Что не входит в раздел

  • Глобальное состояние UI — Stores, формы, фичефлаги. Это Stores.
  • Доменная логика — как данные превращаются в сценарии бизнеса. Это слой business/ в Архитектуре.
  • Хуки общего назначения — переиспользуемые хуки UI, не привязанные к конкретному API. Отдельный прикладной раздел для них пока не ведётся.