Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring Platform
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    Messaging
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    White Label
    Интеграция Web3
    Реальные Проекты
    Кастомизация
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Web3
    Token launch jurisdictions
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Self-hosted развёртывание
    Vercel
    Docker
    Конфигурация Окружения
    Monitoring
    Оптимизация производительности
    Backup
    Архитектура
    Data Model
    Security
    Real Time
    Архитектура PaymentConductor
    Разработка
    Ring MCP Server

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring Platform
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    Messaging
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    White Label
    Интеграция Web3
    Реальные Проекты
    Кастомизация
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Web3
    Token launch jurisdictions
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Self-hosted развёртывание
    Vercel
    Docker
    Конфигурация Окружения
    Monitoring
    Оптимизация производительности
    Backup
    Архитектура
    Data Model
    Security
    Real Time
    Архитектура PaymentConductor
    Разработка
    Ring MCP Server

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring Platform
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    Messaging
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    White Label
    Интеграция Web3
    Реальные Проекты
    Кастомизация
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Web3
    Token launch jurisdictions
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Self-hosted развёртывание
    Vercel
    Docker
    Конфигурация Окружения
    Monitoring
    Оптимизация производительности
    Backup
    Архитектура
    Data Model
    Security
    Real Time
    Архитектура PaymentConductor
    Разработка
    Ring MCP Server

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)
    1. Документация
    2. /Функции
    3. /Паттерны Оптимизации Производительности

    3 мин прослушивания

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Документация
    2. /Функции
    3. /Паттерны Оптимизации Производительности

    3 мин прослушивания

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Документация
    2. /Функции
    3. /Паттерны Оптимизации Производительности

    3 мин прослушивания

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    Паттерны Оптимизации Производительности

    Ring Platform использует React 19 cache() для дедупликации данных в Server Components, слой абстракции базы данных (DatabaseService + адаптеры) для работы с PostgreSQL или Firestore, и Firebase Admin SDK (firebase-service-manager.ts) для кешированных чтений Firestore в режиме firebase-full.

    Все примеры кода ниже ссылаются на реальные файлы кодовой базы — lib/services/firebase-service-manager.ts, lib/database/DatabaseService.ts, lib/database/adapters/FirebaseAdapter.ts. Вымышленные утилиты (session-storage кеши, кастомный RingApiClient, виртуализация) не являются частью Ring Platform.

    React 19 Server Components и получение данных

    Прямое получение данных в Server Components (рекомендуется)

    Избегайте вызовов собственных HTTP API из Server Components — App Router Server Components могут импортировать сервисы напрямую без round-trip запроса.

    React 19 cache() для дедупликации запросов

    React 19 cache() дедуплицирует идентичные одновременные вызовы в пределах одного запроса. Ring Platform использует это в двух местах:

    1. firebase-service-manager.ts — кешированные чтения Firestore (Admin SDK, только режим firebase-full):

    2. DatabaseService — кеш сущностей для консистентности read-after-write (TTL 30 секунд):

    Хуки React 19

    Слой абстракции базы данных

    Контракт DatabaseService

    Реальный DatabaseService маршрутизирует через BackendSelector к PostgreSQLAdapter или FirebaseAdapter. Его API запросов использует один объектный параметр:

    FirebaseAdapter (Admin SDK — только серверная часть)

    Реальный FirebaseAdapter использует firebase-admin/firestore, а не клиентский Firebase SDK:

    Ключевое отличие: Пример в предыдущей версии документации показывал клиентский getFirestore() из firebase/firestore — это неверно для серверного адаптера платформы. Реальный адаптер использует исключительно firebase-admin/firestore.

    Стратегия кеширования

    УровеньОбластьМеханизмРасположение
    React cache()На запросДедупликация React 19firebase-service-manager.ts (Firebase) / Server Components
    EntityCacheTTL 30 сIn-memory MapDatabaseService.ts
    HTTP/CDNУровень страницыNext.js stale-while-revalidatenext.config.mjs заголовки

    Кеширование sessionStorage на сервере не используется. Кеширование на стороне браузера остается стандартным Web API паттернам (не является частью данной кодовой базы).

    Оптимизация Firebase (FirebaseAdmin SDK)

    Пакетные операции

    firebase-service-manager.ts предоставляет:

    Для лимита пакетов Firestore в 500 элементов и требований к составным индексам см. документацию Firestore.

    Отслеживание метрик (только для отладки)

    firebase-service-manager.ts включает опциональные метрики для разработки (контролируются FIREBASE_DEBUG_LOGS=true):

    Это инструмент для разработки/отладки — не система мониторинга продакшна. Он логирует в console.log, а не во внешний сервис. Бюджет производительности в next.config.mjs не настроен.

    Оптимизация сборки

    Текущий next.config.mjs

    Отсутствуют swcMinify, experimental.optimizeCss и performance — это функции Next.js 12/13. Next.js 16 управляет SWC минификацией и оптимизацией CSS автоматически.

    Итог

    • Реальное кеширование: React 19 cache() для дедупликации запросов, EntityCache для 30-секундной консистентности read-after-write
    • Реальный Firebase адаптер: firebase-admin/firestore (Admin SDK), никогда не клиентский firebase/firestore
    • Реальный контракт DatabaseService: findById, query({collection, filters, orderBy, pagination}), transaction
    • Удалены вымышленные паттерны: SessionStorageCache, RingApiClient, маршрутизация DB_HYBRID_MODE, next.config бюджеты производительности, фейковые KPI ("95% снижение", "17.0s", "55KB"), trackWebVitals, виртуализация
    • Бенчмарки производительности не отслеживаются в этой кодовой базе — результаты профилирования принадлежат CI дашбордам, а не документации

    Режимы бэкенда

    Переменные окружения

    Аутентификация

    Паттерны Оптимизации Производительности

    Ring Platform использует React 19 cache() для дедупликации данных в Server Components, слой абстракции базы данных (DatabaseService + адаптеры) для работы с PostgreSQL или Firestore, и Firebase Admin SDK (firebase-service-manager.ts) для кешированных чтений Firestore в режиме firebase-full.

    Все примеры кода ниже ссылаются на реальные файлы кодовой базы — lib/services/firebase-service-manager.ts, lib/database/DatabaseService.ts, lib/database/adapters/FirebaseAdapter.ts. Вымышленные утилиты (session-storage кеши, кастомный RingApiClient, виртуализация) не являются частью Ring Platform.

    React 19 Server Components и получение данных

    Прямое получение данных в Server Components (рекомендуется)

    Избегайте вызовов собственных HTTP API из Server Components — App Router Server Components могут импортировать сервисы напрямую без round-trip запроса.

    React 19 cache() для дедупликации запросов

    React 19 cache() дедуплицирует идентичные одновременные вызовы в пределах одного запроса. Ring Platform использует это в двух местах:

    1. firebase-service-manager.ts — кешированные чтения Firestore (Admin SDK, только режим firebase-full):

    2. DatabaseService — кеш сущностей для консистентности read-after-write (TTL 30 секунд):

    Хуки React 19

    Слой абстракции базы данных

    Контракт DatabaseService

    Реальный DatabaseService маршрутизирует через BackendSelector к PostgreSQLAdapter или FirebaseAdapter. Его API запросов использует один объектный параметр:

    FirebaseAdapter (Admin SDK — только серверная часть)

    Реальный FirebaseAdapter использует firebase-admin/firestore, а не клиентский Firebase SDK:

    Ключевое отличие: Пример в предыдущей версии документации показывал клиентский getFirestore() из firebase/firestore — это неверно для серверного адаптера платформы. Реальный адаптер использует исключительно firebase-admin/firestore.

    Стратегия кеширования

    УровеньОбластьМеханизмРасположение
    React cache()На запросДедупликация React 19firebase-service-manager.ts (Firebase) / Server Components
    EntityCacheTTL 30 сIn-memory MapDatabaseService.ts
    HTTP/CDNУровень страницыNext.js stale-while-revalidatenext.config.mjs заголовки

    Кеширование sessionStorage на сервере не используется. Кеширование на стороне браузера остается стандартным Web API паттернам (не является частью данной кодовой базы).

    Оптимизация Firebase (FirebaseAdmin SDK)

    Пакетные операции

    firebase-service-manager.ts предоставляет:

    Для лимита пакетов Firestore в 500 элементов и требований к составным индексам см. документацию Firestore.

    Отслеживание метрик (только для отладки)

    firebase-service-manager.ts включает опциональные метрики для разработки (контролируются FIREBASE_DEBUG_LOGS=true):

    Это инструмент для разработки/отладки — не система мониторинга продакшна. Он логирует в console.log, а не во внешний сервис. Бюджет производительности в next.config.mjs не настроен.

    Оптимизация сборки

    Текущий next.config.mjs

    Отсутствуют swcMinify, experimental.optimizeCss и performance — это функции Next.js 12/13. Next.js 16 управляет SWC минификацией и оптимизацией CSS автоматически.

    Итог

    • Реальное кеширование: React 19 cache() для дедупликации запросов, EntityCache для 30-секундной консистентности read-after-write
    • Реальный Firebase адаптер: firebase-admin/firestore (Admin SDK), никогда не клиентский firebase/firestore
    • Реальный контракт DatabaseService: findById, query({collection, filters, orderBy, pagination}), transaction
    • Удалены вымышленные паттерны: SessionStorageCache, RingApiClient, маршрутизация DB_HYBRID_MODE, next.config бюджеты производительности, фейковые KPI ("95% снижение", "17.0s", "55KB"), trackWebVitals, виртуализация
    • Бенчмарки производительности не отслеживаются в этой кодовой базе — результаты профилирования принадлежат CI дашбордам, а не документации

    Режимы бэкенда

    Переменные окружения

    Аутентификация

    Паттерны Оптимизации Производительности

    Ring Platform использует React 19 cache() для дедупликации данных в Server Components, слой абстракции базы данных (DatabaseService + адаптеры) для работы с PostgreSQL или Firestore, и Firebase Admin SDK (firebase-service-manager.ts) для кешированных чтений Firestore в режиме firebase-full.

    Все примеры кода ниже ссылаются на реальные файлы кодовой базы — lib/services/firebase-service-manager.ts, lib/database/DatabaseService.ts, lib/database/adapters/FirebaseAdapter.ts. Вымышленные утилиты (session-storage кеши, кастомный RingApiClient, виртуализация) не являются частью Ring Platform.

    React 19 Server Components и получение данных

    Прямое получение данных в Server Components (рекомендуется)

    Избегайте вызовов собственных HTTP API из Server Components — App Router Server Components могут импортировать сервисы напрямую без round-trip запроса.

    React 19 cache() для дедупликации запросов

    React 19 cache() дедуплицирует идентичные одновременные вызовы в пределах одного запроса. Ring Platform использует это в двух местах:

    1. firebase-service-manager.ts — кешированные чтения Firestore (Admin SDK, только режим firebase-full):

    2. DatabaseService — кеш сущностей для консистентности read-after-write (TTL 30 секунд):

    Хуки React 19

    Слой абстракции базы данных

    Контракт DatabaseService

    Реальный DatabaseService маршрутизирует через BackendSelector к PostgreSQLAdapter или FirebaseAdapter. Его API запросов использует один объектный параметр:

    FirebaseAdapter (Admin SDK — только серверная часть)

    Реальный FirebaseAdapter использует firebase-admin/firestore, а не клиентский Firebase SDK:

    Ключевое отличие: Пример в предыдущей версии документации показывал клиентский getFirestore() из firebase/firestore — это неверно для серверного адаптера платформы. Реальный адаптер использует исключительно firebase-admin/firestore.

    Стратегия кеширования

    УровеньОбластьМеханизмРасположение
    React cache()На запросДедупликация React 19firebase-service-manager.ts (Firebase) / Server Components
    EntityCacheTTL 30 сIn-memory MapDatabaseService.ts
    HTTP/CDNУровень страницыNext.js stale-while-revalidatenext.config.mjs заголовки

    Кеширование sessionStorage на сервере не используется. Кеширование на стороне браузера остается стандартным Web API паттернам (не является частью данной кодовой базы).

    Оптимизация Firebase (FirebaseAdmin SDK)

    Пакетные операции

    firebase-service-manager.ts предоставляет:

    Для лимита пакетов Firestore в 500 элементов и требований к составным индексам см. документацию Firestore.

    Отслеживание метрик (только для отладки)

    firebase-service-manager.ts включает опциональные метрики для разработки (контролируются FIREBASE_DEBUG_LOGS=true):

    Это инструмент для разработки/отладки — не система мониторинга продакшна. Он логирует в console.log, а не во внешний сервис. Бюджет производительности в next.config.mjs не настроен.

    Оптимизация сборки

    Текущий next.config.mjs

    Отсутствуют swcMinify, experimental.optimizeCss и performance — это функции Next.js 12/13. Next.js 16 управляет SWC минификацией и оптимизацией CSS автоматически.

    Итог

    • Реальное кеширование: React 19 cache() для дедупликации запросов, EntityCache для 30-секундной консистентности read-after-write
    • Реальный Firebase адаптер: firebase-admin/firestore (Admin SDK), никогда не клиентский firebase/firestore
    • Реальный контракт DatabaseService: findById, query({collection, filters, orderBy, pagination}), transaction
    • Удалены вымышленные паттерны: SessionStorageCache, RingApiClient, маршрутизация DB_HYBRID_MODE, next.config бюджеты производительности, фейковые KPI ("95% снижение", "17.0s", "55KB"), trackWebVitals, виртуализация
    • Бенчмарки производительности не отслеживаются в этой кодовой базе — результаты профилирования принадлежат CI дашбордам, а не документации

    Режимы бэкенда

    Переменные окружения

    Аутентификация