Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Інтеграція платежів
    Інтеграція WayForPay
    Web3 Гаманець
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкінга Токенів
    Сутності
    Можливості
    Повідомлення
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безпека та відповідність
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Білий лейбл
    Інтеграція Web3
    Реальні приклади
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Web3
    Token launch jurisdictions
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та аналітика
    Оптимізація продуктивності
    Резервне копіювання та відновлення
    Архітектура
    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
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Інтеграція платежів
    Інтеграція WayForPay
    Web3 Гаманець
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкінга Токенів
    Сутності
    Можливості
    Повідомлення
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безпека та відповідність
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Білий лейбл
    Інтеграція Web3
    Реальні приклади
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Web3
    Token launch jurisdictions
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та аналітика
    Оптимізація продуктивності
    Резервне копіювання та відновлення
    Архітектура
    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
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Інтеграція платежів
    Інтеграція WayForPay
    Web3 Гаманець
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкінга Токенів
    Сутності
    Можливості
    Повідомлення
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безпека та відповідність
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Білий лейбл
    Інтеграція Web3
    Реальні приклади
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Web3
    Token launch jurisdictions
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та аналітика
    Оптимізація продуктивності
    Резервне копіювання та відновлення
    Архітектура
    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. /Валідація першого успіху

    Оновлено 16 жовт. 2025 р.6 хв прослуховування

    Ring Platform Logo

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

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

    1. Документація
    2. /Початок роботи
    3. /Валідація першого успіху

    Оновлено 16 жовт. 2025 р.6 хв прослуховування

    Ring Platform Logo

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

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

    1. Документація
    2. /Початок роботи
    3. /Валідація першого успіху

    Оновлено 16 жовт. 2025 р.6 хв прослуховування

    Ring Platform Logo

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

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

    Валідація першого успіху ✅

    Цей всебічний посібник валідації гарантує, що ваше встановлення платформи Ring працює правильно. Дотримуйтеся кожного кроку систематично, щоб перевірити всі основні функції, перш ніж переходити до кастомізації або розгортання.

    ⏱️ Орієнтовний час валідації

    10-15 хвилин для виконання всіх кроків валідації.

    🎯 Попередня настройка валідації

    Перед початком валідації переконайтеся:

    1. Платформа Ring запущена: npm run dev має показати "Ready - started server on 0.0.0.0:3000"
    2. База даних доступна: Встановлено з'єднання PostgreSQL або Firebase
    3. Змінні середовища встановлені: .env.local містить всі необхідні ключі
    4. Кеш браузера очищений: Жорстке оновлення (Ctrl+F5) для уникнення кешованих проблем

    🔍 Крок-за-кроком валідація

    1. 1

      Фаза 1: Запуск додатку

      Мета: Перевірити, що додаток запускається правильно та обслуговує домашню сторінку.

      1.1 Перевірка логів додатку

      У вашій директорії Ring Platform

      Очікуваний вивід:

      text
      
      ▲ Next.js 16.x.x
      - Local:        http://localhost:3000
      - Environments: .env.local
      - Ready - started server on 0.0.0.0:3000

      ❌ Поширені проблеми:

      • "Port 3000 already in use" → Вбити інші процеси: lsof -ti:3000 | xargs kill
      • "Module not found" → Запустити npm install для встановлення залежностей
      • "Database connection failed" → Перевірити облікові дані бази даних у .env.local

      1.2 Тестування доступу до домашньої сторінки

      Тест HTTP-відповіді

      Очікуваний: HTTP/1.1 200 OK

      Тест вмісту сторінки

      Очікуваний: HTML-вміст із брендингом Ring Platform

      1.3 Браузерна валідація

      1. Відкрити http://localhost:3000 у вашому браузері
      2. Перевірити, що сторінка завантажується без помилок JavaScript
      3. Перевірити консоль браузера (F12) на наявність повідомлень про помилки
      4. Підтвердити появу логотипу Ring Platform та геройської секції
    2. 2

      Фаза 2: Система аутентифікації

      Мета: Перевірити налаштування Auth.js v5 та провайдерів OAuth.

      2.1 Тестування сторінки аутентифікації

      Відвідати http://localhost:3000/login

      Очікуваний:

      • Чистий логін-екран із кнопками провайдерів
      • Без помилок JavaScript у консолі
      • Адаптивний дизайн на мобільному/десктопі

      2.2 Потік Google OAuth

      1. Натиснути "Sign in with Google"
      2. Завершити потік Google OAuth
      3. Перевірити перенаправлення на сторінку dashboard/profile
      4. Перевірити стійкість сесії (освіжити сторінку)

      Команди валідації: Тест кінцевої точки зворотного виклику OAuth Очікуваний: HTTP/1.1 302 Found (перенаправлення)

      2.3 Валідація сесії

      API тест: Тест кінцевої точки сесії

      Очікувана відповідь:

      2.4 Доступ до профілю

      1. Відвідати /profile або /[locale]/profile
      2. Перевірити правильне відображення інформації користувача
      3. Перевірити завантаження фотографії профілю з Google
      4. Підтвердити функціонування виходу з системи
    3. 3

      Фаза 3: Підключення до бази даних

      Мета: Перевірити операції бази даних.

      3.1 Перевірка здоров'я API

      Тест кінцевої точки здоров'я

      Очікувана відповідь:

      3.2 Система сутностей

      Створити тестову сутність:

      1. Відвідати http://localhost:3000/entities
      2. Натиснути "Create Entity" або "Add Entity"
      3. Заповнити форму: Ім'я, Тип, Опис
      4. Надіслати та перевірити появу сутності у списку

      API валідація: Список сутностей Очікуваний: Масив сутностей або порожній масив

      3.3 Тест з'єднання з базою даних

      Тест PostgreSQL: Прямий тест бази даних (якщо використовується локальний PostgreSQL) Очікуваний: Count >= 1 (ваш обліковий запис користувача)

      Тест Firebase (якщо використовується Firebase): Тест з'єднання Firestore Очікуваний: Повідомлення про успіх

    4. 4

      Фаза 4: Основні функції

      Мета: Перевірити можливості, повідомлень та функцій реального часу.

      4.1 Система можливостей

      1. Відвідати http://localhost:3000/opportunities
      2. Перевірити завантаження списку можливостей
      3. Створити тестову можливість
      4. Перевірити пошук та фільтрацію

      API тест: Тест кінцевої точки можливостей

      Очікуваний: Масив можливостей або порожній масив

      4.2 Функції реального часу

      Тест WebSocket: Тест кінцевої точки транспорту тунелю

      Тест повідомлень:

      1. Створити можливість (спрацьовує повідомлення)
      2. Перевірити появу повідомлення у режимі реального часу
      3. Перевірити лічильник повідомлень у UI

      4.3 Система повідомлень (Необов'язково)

      1. Відвідати інтерфейс повідомлень
      2. Почати розмову
      3. Надіслати тестові повідомлення
      4. Перевірити доставку у режимі реального часу
    5. 5

      Фаза 5: Функції Web3 та гаманця

      Мета: Перевірити інтеграцію блокчейну та функціональність гаманця.

      5.1 Створення гаманця

      1. Відвідати /profile або /wallet
      2. Перевірити автостворення гаманця
      3. Перевірити відображення адреси гаманця

      API тест: Тест кінцевої точки гаманця Очікуваний: Інформація про баланс гаманця

      5.2 Інтеграція MetaMask (Необов'язково)

      1. Встановити розширення MetaMask
      2. Підключити гаманець до Ring Platform
      3. Перевірити операції гаманця
      4. Перевірити підпис транзакцій

      5.3 Функції токенів RING (Необов'язково)

      1. Перевірити відображення балансу токенів
      2. Перевірити функціональність переказу токенів
      3. Перевірити історію транзакцій

    🧪 Розширені тести валідації

    Тестування продуктивності

    Тест часу відповіді

    Створити curl-format.txt:

    Очікуваний: Загальний час < 2 секунд

    Тестування навантаження

    Простий тест навантаження

    Очікуваний: Усі запити повертають 200 OK

    Тест обробки помилок

    Тест обробки 404 Очікуваний: 404 Not Found Тест обробки помилок API Очікуваний: Правильна відповідь про помилку

    🚨 Посібник усунення несправностей

    Проблеми аутентифікації

    "Sign in failed" або помилки OAuth:

    • Перевірити конфігурацію Google Cloud Console OAuth
    • Перевірити URI перенаправлення збігаються точно
    • Переконатися, що Google+ API увімкнено
    • Перевірити формат облікових даних у .env.local

    Сесія не зберігається:

    • Перевірити встановлення AUTH_SECRET (32+ символів)
    • Перевірити налаштування cookie у браузері
    • Очистити кеш та cookie браузера

    Проблеми з базою даних

    "Database connection failed": PostgreSQL Тест з'єднання

    Проблеми з'єднання Firebase: Перевірка конфігурації Firebase

    Проблеми API

    "API endpoint not found":

    • Перевірити запуск сервера Next.js
    • Перевірити існування файлу API маршруту
    • Переглянути логи сервера на помилки

    Помилки CORS:

    • Перевірити NEXTAUTH_URL збігається з вашим доменом
    • Перевірити правильність заголовків CORS у API маршрутах

    Проблеми реального часу

    WebSocket не підключається:

    • Перевірити вкладку мережі браузера на спроби з'єднання
    • Перевірити конфігурацію транспорту тунелю
    • Перевірити з іншими браузерами

    Повідомлення не з'являються:

    • Перевірити дозволи браузера на повідомлення
    • Перевірити вхід користувача в систему
    • Перевірити з іншими тригерними подіями

    Проблеми продуктивності

    Повільне завантаження сторінок: Перевірка розміру збірки Профілювання за допомогою інструментів розробки браузера Вкладка Network: Перевірити великі ресурси Вкладка Performance: Записати та проаналізувати

    Проблеми пам'яті: Моніторинг процесу Node.js Або використовувати PM2: pm2 monit

    📊 Контрольний список валідації

    КомпонентСтатусПримітки
    Запуск додатку☐Сервер запускається, домашня сторінка завантажується
    Аутентифікація☐Google OAuth працює, сесії зберігаються
    База даних☐З'єднання працюють, операції даних успішні
    Сутності☐Операції CRUD функціонують правильно
    Можливості☐Перегляд, створення, пошук працює
    Реальний час

    🎯 Критерії успіху

    ✅ ПОВНИЙ УСПІХ - Усі прапорці вище позначені

    • Додаток працює без помилок
    • Усі основні функції працюють end-to-end
    • Продуктивність відповідає очікуванням
    • Жодних критичних проблем не залишилося

    ⚠️ ЧАСТКОВИЙ УСПІХ - 70%+ функціональних

    • Основна аутентифікація та база даних працюють
    • Більшість функцій функціональні з незначними проблемами
    • Можна перейти до розробки/кастомізації

    ❌ ПОТРІБНА УВАГА - < 70% функціональних

    • Переглянути розділ усунення несправностей
    • Перевірити налаштування передумов
    • Повторити кроки встановлення

    🚀 Наступні кроки після успіху

    🎉 Усі валідації пройшли успішно!

    Вітаємо! Ваше встановлення платформи Ring повністю функціональне. Використовуйте провідник вище, щоб відкрити документацію функцій, потім налаштуйте брендинг, розгорніть у продакшен або приєднайтесь до спільноти.

    Потрібна допомога з кастомізацією? Див. Кастомізацію для посібників оператора та брендингу.


    Виникли проблеми? Перегляньте наш посібник усунення несправностей або приєднуйтеся до нашої Discord спільноти для підтримки.

    Валідація першого успіху ✅

    Цей всебічний посібник валідації гарантує, що ваше встановлення платформи Ring працює правильно. Дотримуйтеся кожного кроку систематично, щоб перевірити всі основні функції, перш ніж переходити до кастомізації або розгортання.

    ⏱️ Орієнтовний час валідації

    10-15 хвилин для виконання всіх кроків валідації.

    🎯 Попередня настройка валідації

    Перед початком валідації переконайтеся:

    1. Платформа Ring запущена: npm run dev має показати "Ready - started server on 0.0.0.0:3000"
    2. База даних доступна: Встановлено з'єднання PostgreSQL або Firebase
    3. Змінні середовища встановлені: .env.local містить всі необхідні ключі
    4. Кеш браузера очищений: Жорстке оновлення (Ctrl+F5) для уникнення кешованих проблем

    🔍 Крок-за-кроком валідація

    1. 1

      Фаза 1: Запуск додатку

      Мета: Перевірити, що додаток запускається правильно та обслуговує домашню сторінку.

      1.1 Перевірка логів додатку

      У вашій директорії Ring Platform

      Очікуваний вивід:

      text
      
      ▲ Next.js 16.x.x
      - Local:        http://localhost:3000
      - Environments: .env.local
      - Ready - started server on 0.0.0.0:3000

      ❌ Поширені проблеми:

      • "Port 3000 already in use" → Вбити інші процеси: lsof -ti:3000 | xargs kill
      • "Module not found" → Запустити npm install для встановлення залежностей
      • "Database connection failed" → Перевірити облікові дані бази даних у .env.local

      1.2 Тестування доступу до домашньої сторінки

      Тест HTTP-відповіді

      Очікуваний: HTTP/1.1 200 OK

      Тест вмісту сторінки

      Очікуваний: HTML-вміст із брендингом Ring Platform

      1.3 Браузерна валідація

      1. Відкрити http://localhost:3000 у вашому браузері
      2. Перевірити, що сторінка завантажується без помилок JavaScript
      3. Перевірити консоль браузера (F12) на наявність повідомлень про помилки
      4. Підтвердити появу логотипу Ring Platform та геройської секції
    2. 2

      Фаза 2: Система аутентифікації

      Мета: Перевірити налаштування Auth.js v5 та провайдерів OAuth.

      2.1 Тестування сторінки аутентифікації

      Відвідати http://localhost:3000/login

      Очікуваний:

      • Чистий логін-екран із кнопками провайдерів
      • Без помилок JavaScript у консолі
      • Адаптивний дизайн на мобільному/десктопі

      2.2 Потік Google OAuth

      1. Натиснути "Sign in with Google"
      2. Завершити потік Google OAuth
      3. Перевірити перенаправлення на сторінку dashboard/profile
      4. Перевірити стійкість сесії (освіжити сторінку)

      Команди валідації: Тест кінцевої точки зворотного виклику OAuth Очікуваний: HTTP/1.1 302 Found (перенаправлення)

      2.3 Валідація сесії

      API тест: Тест кінцевої точки сесії

      Очікувана відповідь:

      2.4 Доступ до профілю

      1. Відвідати /profile або /[locale]/profile
      2. Перевірити правильне відображення інформації користувача
      3. Перевірити завантаження фотографії профілю з Google
      4. Підтвердити функціонування виходу з системи
    3. 3

      Фаза 3: Підключення до бази даних

      Мета: Перевірити операції бази даних.

      3.1 Перевірка здоров'я API

      Тест кінцевої точки здоров'я

      Очікувана відповідь:

      3.2 Система сутностей

      Створити тестову сутність:

      1. Відвідати http://localhost:3000/entities
      2. Натиснути "Create Entity" або "Add Entity"
      3. Заповнити форму: Ім'я, Тип, Опис
      4. Надіслати та перевірити появу сутності у списку

      API валідація: Список сутностей Очікуваний: Масив сутностей або порожній масив

      3.3 Тест з'єднання з базою даних

      Тест PostgreSQL: Прямий тест бази даних (якщо використовується локальний PostgreSQL) Очікуваний: Count >= 1 (ваш обліковий запис користувача)

      Тест Firebase (якщо використовується Firebase): Тест з'єднання Firestore Очікуваний: Повідомлення про успіх

    4. 4

      Фаза 4: Основні функції

      Мета: Перевірити можливості, повідомлень та функцій реального часу.

      4.1 Система можливостей

      1. Відвідати http://localhost:3000/opportunities
      2. Перевірити завантаження списку можливостей
      3. Створити тестову можливість
      4. Перевірити пошук та фільтрацію

      API тест: Тест кінцевої точки можливостей

      Очікуваний: Масив можливостей або порожній масив

      4.2 Функції реального часу

      Тест WebSocket: Тест кінцевої точки транспорту тунелю

      Тест повідомлень:

      1. Створити можливість (спрацьовує повідомлення)
      2. Перевірити появу повідомлення у режимі реального часу
      3. Перевірити лічильник повідомлень у UI

      4.3 Система повідомлень (Необов'язково)

      1. Відвідати інтерфейс повідомлень
      2. Почати розмову
      3. Надіслати тестові повідомлення
      4. Перевірити доставку у режимі реального часу
    5. 5

      Фаза 5: Функції Web3 та гаманця

      Мета: Перевірити інтеграцію блокчейну та функціональність гаманця.

      5.1 Створення гаманця

      1. Відвідати /profile або /wallet
      2. Перевірити автостворення гаманця
      3. Перевірити відображення адреси гаманця

      API тест: Тест кінцевої точки гаманця Очікуваний: Інформація про баланс гаманця

      5.2 Інтеграція MetaMask (Необов'язково)

      1. Встановити розширення MetaMask
      2. Підключити гаманець до Ring Platform
      3. Перевірити операції гаманця
      4. Перевірити підпис транзакцій

      5.3 Функції токенів RING (Необов'язково)

      1. Перевірити відображення балансу токенів
      2. Перевірити функціональність переказу токенів
      3. Перевірити історію транзакцій

    🧪 Розширені тести валідації

    Тестування продуктивності

    Тест часу відповіді

    Створити curl-format.txt:

    Очікуваний: Загальний час < 2 секунд

    Тестування навантаження

    Простий тест навантаження

    Очікуваний: Усі запити повертають 200 OK

    Тест обробки помилок

    Тест обробки 404 Очікуваний: 404 Not Found Тест обробки помилок API Очікуваний: Правильна відповідь про помилку

    🚨 Посібник усунення несправностей

    Проблеми аутентифікації

    "Sign in failed" або помилки OAuth:

    • Перевірити конфігурацію Google Cloud Console OAuth
    • Перевірити URI перенаправлення збігаються точно
    • Переконатися, що Google+ API увімкнено
    • Перевірити формат облікових даних у .env.local

    Сесія не зберігається:

    • Перевірити встановлення AUTH_SECRET (32+ символів)
    • Перевірити налаштування cookie у браузері
    • Очистити кеш та cookie браузера

    Проблеми з базою даних

    "Database connection failed": PostgreSQL Тест з'єднання

    Проблеми з'єднання Firebase: Перевірка конфігурації Firebase

    Проблеми API

    "API endpoint not found":

    • Перевірити запуск сервера Next.js
    • Перевірити існування файлу API маршруту
    • Переглянути логи сервера на помилки

    Помилки CORS:

    • Перевірити NEXTAUTH_URL збігається з вашим доменом
    • Перевірити правильність заголовків CORS у API маршрутах

    Проблеми реального часу

    WebSocket не підключається:

    • Перевірити вкладку мережі браузера на спроби з'єднання
    • Перевірити конфігурацію транспорту тунелю
    • Перевірити з іншими браузерами

    Повідомлення не з'являються:

    • Перевірити дозволи браузера на повідомлення
    • Перевірити вхід користувача в систему
    • Перевірити з іншими тригерними подіями

    Проблеми продуктивності

    Повільне завантаження сторінок: Перевірка розміру збірки Профілювання за допомогою інструментів розробки браузера Вкладка Network: Перевірити великі ресурси Вкладка Performance: Записати та проаналізувати

    Проблеми пам'яті: Моніторинг процесу Node.js Або використовувати PM2: pm2 monit

    📊 Контрольний список валідації

    КомпонентСтатусПримітки
    Запуск додатку☐Сервер запускається, домашня сторінка завантажується
    Аутентифікація☐Google OAuth працює, сесії зберігаються
    База даних☐З'єднання працюють, операції даних успішні
    Сутності☐Операції CRUD функціонують правильно
    Можливості☐Перегляд, створення, пошук працює
    Реальний час

    🎯 Критерії успіху

    ✅ ПОВНИЙ УСПІХ - Усі прапорці вище позначені

    • Додаток працює без помилок
    • Усі основні функції працюють end-to-end
    • Продуктивність відповідає очікуванням
    • Жодних критичних проблем не залишилося

    ⚠️ ЧАСТКОВИЙ УСПІХ - 70%+ функціональних

    • Основна аутентифікація та база даних працюють
    • Більшість функцій функціональні з незначними проблемами
    • Можна перейти до розробки/кастомізації

    ❌ ПОТРІБНА УВАГА - < 70% функціональних

    • Переглянути розділ усунення несправностей
    • Перевірити налаштування передумов
    • Повторити кроки встановлення

    🚀 Наступні кроки після успіху

    🎉 Усі валідації пройшли успішно!

    Вітаємо! Ваше встановлення платформи Ring повністю функціональне. Використовуйте провідник вище, щоб відкрити документацію функцій, потім налаштуйте брендинг, розгорніть у продакшен або приєднайтесь до спільноти.

    Потрібна допомога з кастомізацією? Див. Кастомізацію для посібників оператора та брендингу.


    Виникли проблеми? Перегляньте наш посібник усунення несправностей або приєднуйтеся до нашої Discord спільноти для підтримки.

    Валідація першого успіху ✅

    Цей всебічний посібник валідації гарантує, що ваше встановлення платформи Ring працює правильно. Дотримуйтеся кожного кроку систематично, щоб перевірити всі основні функції, перш ніж переходити до кастомізації або розгортання.

    ⏱️ Орієнтовний час валідації

    10-15 хвилин для виконання всіх кроків валідації.

    🎯 Попередня настройка валідації

    Перед початком валідації переконайтеся:

    1. Платформа Ring запущена: npm run dev має показати "Ready - started server on 0.0.0.0:3000"
    2. База даних доступна: Встановлено з'єднання PostgreSQL або Firebase
    3. Змінні середовища встановлені: .env.local містить всі необхідні ключі
    4. Кеш браузера очищений: Жорстке оновлення (Ctrl+F5) для уникнення кешованих проблем

    🔍 Крок-за-кроком валідація

    1. 1

      Фаза 1: Запуск додатку

      Мета: Перевірити, що додаток запускається правильно та обслуговує домашню сторінку.

      1.1 Перевірка логів додатку

      У вашій директорії Ring Platform

      Очікуваний вивід:

      text
      
      ▲ Next.js 16.x.x
      - Local:        http://localhost:3000
      - Environments: .env.local
      - Ready - started server on 0.0.0.0:3000

      ❌ Поширені проблеми:

      • "Port 3000 already in use" → Вбити інші процеси: lsof -ti:3000 | xargs kill
      • "Module not found" → Запустити npm install для встановлення залежностей
      • "Database connection failed" → Перевірити облікові дані бази даних у .env.local

      1.2 Тестування доступу до домашньої сторінки

      Тест HTTP-відповіді

      Очікуваний: HTTP/1.1 200 OK

      Тест вмісту сторінки

      Очікуваний: HTML-вміст із брендингом Ring Platform

      1.3 Браузерна валідація

      1. Відкрити http://localhost:3000 у вашому браузері
      2. Перевірити, що сторінка завантажується без помилок JavaScript
      3. Перевірити консоль браузера (F12) на наявність повідомлень про помилки
      4. Підтвердити появу логотипу Ring Platform та геройської секції
    2. 2

      Фаза 2: Система аутентифікації

      Мета: Перевірити налаштування Auth.js v5 та провайдерів OAuth.

      2.1 Тестування сторінки аутентифікації

      Відвідати http://localhost:3000/login

      Очікуваний:

      • Чистий логін-екран із кнопками провайдерів
      • Без помилок JavaScript у консолі
      • Адаптивний дизайн на мобільному/десктопі

      2.2 Потік Google OAuth

      1. Натиснути "Sign in with Google"
      2. Завершити потік Google OAuth
      3. Перевірити перенаправлення на сторінку dashboard/profile
      4. Перевірити стійкість сесії (освіжити сторінку)

      Команди валідації: Тест кінцевої точки зворотного виклику OAuth Очікуваний: HTTP/1.1 302 Found (перенаправлення)

      2.3 Валідація сесії

      API тест: Тест кінцевої точки сесії

      Очікувана відповідь:

      2.4 Доступ до профілю

      1. Відвідати /profile або /[locale]/profile
      2. Перевірити правильне відображення інформації користувача
      3. Перевірити завантаження фотографії профілю з Google
      4. Підтвердити функціонування виходу з системи
    3. 3

      Фаза 3: Підключення до бази даних

      Мета: Перевірити операції бази даних.

      3.1 Перевірка здоров'я API

      Тест кінцевої точки здоров'я

      Очікувана відповідь:

      3.2 Система сутностей

      Створити тестову сутність:

      1. Відвідати http://localhost:3000/entities
      2. Натиснути "Create Entity" або "Add Entity"
      3. Заповнити форму: Ім'я, Тип, Опис
      4. Надіслати та перевірити появу сутності у списку

      API валідація: Список сутностей Очікуваний: Масив сутностей або порожній масив

      3.3 Тест з'єднання з базою даних

      Тест PostgreSQL: Прямий тест бази даних (якщо використовується локальний PostgreSQL) Очікуваний: Count >= 1 (ваш обліковий запис користувача)

      Тест Firebase (якщо використовується Firebase): Тест з'єднання Firestore Очікуваний: Повідомлення про успіх

    4. 4

      Фаза 4: Основні функції

      Мета: Перевірити можливості, повідомлень та функцій реального часу.

      4.1 Система можливостей

      1. Відвідати http://localhost:3000/opportunities
      2. Перевірити завантаження списку можливостей
      3. Створити тестову можливість
      4. Перевірити пошук та фільтрацію

      API тест: Тест кінцевої точки можливостей

      Очікуваний: Масив можливостей або порожній масив

      4.2 Функції реального часу

      Тест WebSocket: Тест кінцевої точки транспорту тунелю

      Тест повідомлень:

      1. Створити можливість (спрацьовує повідомлення)
      2. Перевірити появу повідомлення у режимі реального часу
      3. Перевірити лічильник повідомлень у UI

      4.3 Система повідомлень (Необов'язково)

      1. Відвідати інтерфейс повідомлень
      2. Почати розмову
      3. Надіслати тестові повідомлення
      4. Перевірити доставку у режимі реального часу
    5. 5

      Фаза 5: Функції Web3 та гаманця

      Мета: Перевірити інтеграцію блокчейну та функціональність гаманця.

      5.1 Створення гаманця

      1. Відвідати /profile або /wallet
      2. Перевірити автостворення гаманця
      3. Перевірити відображення адреси гаманця

      API тест: Тест кінцевої точки гаманця Очікуваний: Інформація про баланс гаманця

      5.2 Інтеграція MetaMask (Необов'язково)

      1. Встановити розширення MetaMask
      2. Підключити гаманець до Ring Platform
      3. Перевірити операції гаманця
      4. Перевірити підпис транзакцій

      5.3 Функції токенів RING (Необов'язково)

      1. Перевірити відображення балансу токенів
      2. Перевірити функціональність переказу токенів
      3. Перевірити історію транзакцій

    🧪 Розширені тести валідації

    Тестування продуктивності

    Тест часу відповіді

    Створити curl-format.txt:

    Очікуваний: Загальний час < 2 секунд

    Тестування навантаження

    Простий тест навантаження

    Очікуваний: Усі запити повертають 200 OK

    Тест обробки помилок

    Тест обробки 404 Очікуваний: 404 Not Found Тест обробки помилок API Очікуваний: Правильна відповідь про помилку

    🚨 Посібник усунення несправностей

    Проблеми аутентифікації

    "Sign in failed" або помилки OAuth:

    • Перевірити конфігурацію Google Cloud Console OAuth
    • Перевірити URI перенаправлення збігаються точно
    • Переконатися, що Google+ API увімкнено
    • Перевірити формат облікових даних у .env.local

    Сесія не зберігається:

    • Перевірити встановлення AUTH_SECRET (32+ символів)
    • Перевірити налаштування cookie у браузері
    • Очистити кеш та cookie браузера

    Проблеми з базою даних

    "Database connection failed": PostgreSQL Тест з'єднання

    Проблеми з'єднання Firebase: Перевірка конфігурації Firebase

    Проблеми API

    "API endpoint not found":

    • Перевірити запуск сервера Next.js
    • Перевірити існування файлу API маршруту
    • Переглянути логи сервера на помилки

    Помилки CORS:

    • Перевірити NEXTAUTH_URL збігається з вашим доменом
    • Перевірити правильність заголовків CORS у API маршрутах

    Проблеми реального часу

    WebSocket не підключається:

    • Перевірити вкладку мережі браузера на спроби з'єднання
    • Перевірити конфігурацію транспорту тунелю
    • Перевірити з іншими браузерами

    Повідомлення не з'являються:

    • Перевірити дозволи браузера на повідомлення
    • Перевірити вхід користувача в систему
    • Перевірити з іншими тригерними подіями

    Проблеми продуктивності

    Повільне завантаження сторінок: Перевірка розміру збірки Профілювання за допомогою інструментів розробки браузера Вкладка Network: Перевірити великі ресурси Вкладка Performance: Записати та проаналізувати

    Проблеми пам'яті: Моніторинг процесу Node.js Або використовувати PM2: pm2 monit

    📊 Контрольний список валідації

    КомпонентСтатусПримітки
    Запуск додатку☐Сервер запускається, домашня сторінка завантажується
    Аутентифікація☐Google OAuth працює, сесії зберігаються
    База даних☐З'єднання працюють, операції даних успішні
    Сутності☐Операції CRUD функціонують правильно
    Можливості☐Перегляд, створення, пошук працює
    Реальний час

    🎯 Критерії успіху

    ✅ ПОВНИЙ УСПІХ - Усі прапорці вище позначені

    • Додаток працює без помилок
    • Усі основні функції працюють end-to-end
    • Продуктивність відповідає очікуванням
    • Жодних критичних проблем не залишилося

    ⚠️ ЧАСТКОВИЙ УСПІХ - 70%+ функціональних

    • Основна аутентифікація та база даних працюють
    • Більшість функцій функціональні з незначними проблемами
    • Можна перейти до розробки/кастомізації

    ❌ ПОТРІБНА УВАГА - < 70% функціональних

    • Переглянути розділ усунення несправностей
    • Перевірити налаштування передумов
    • Повторити кроки встановлення

    🚀 Наступні кроки після успіху

    🎉 Усі валідації пройшли успішно!

    Вітаємо! Ваше встановлення платформи Ring повністю функціональне. Використовуйте провідник вище, щоб відкрити документацію функцій, потім налаштуйте брендинг, розгорніть у продакшен або приєднайтесь до спільноти.

    Потрібна допомога з кастомізацією? Див. Кастомізацію для посібників оператора та брендингу.


    Виникли проблеми? Перегляньте наш посібник усунення несправностей або приєднуйтеся до нашої Discord спільноти для підтримки.

    ☐
    З'єднання WebSocket, повідомлення
    Гаманець☐Створення адреси, відображення балансу
    Здоров'я API☐Усі кінцеві точки відповідають правильно
    Продуктивність☐Час відповіді < 2с
    Обробка помилок☐Правильні відповіді про помилки
    text
    
         time_namelookup:  %{time_namelookup}\n
            time_connect:  %{time_connect}\n
         time_appconnect:  %{time_appconnect}\n
        time_pretransfer:  %{time_pretransfer}\n
           time_redirect:  %{time_redirect}\n
      time_starttransfer:  %{time_starttransfer}\n
                         ----------\n
              time_total:  %{time_total}\n
    ☐
    З'єднання WebSocket, повідомлення
    Гаманець☐Створення адреси, відображення балансу
    Здоров'я API☐Усі кінцеві точки відповідають правильно
    Продуктивність☐Час відповіді < 2с
    Обробка помилок☐Правильні відповіді про помилки
    text
    
         time_namelookup:  %{time_namelookup}\n
            time_connect:  %{time_connect}\n
         time_appconnect:  %{time_appconnect}\n
        time_pretransfer:  %{time_pretransfer}\n
           time_redirect:  %{time_redirect}\n
      time_starttransfer:  %{time_starttransfer}\n
                         ----------\n
              time_total:  %{time_total}\n
    ☐
    З'єднання WebSocket, повідомлення
    Гаманець☐Створення адреси, відображення балансу
    Здоров'я API☐Усі кінцеві точки відповідають правильно
    Продуктивність☐Час відповіді < 2с
    Обробка помилок☐Правильні відповіді про помилки
    text
    
         time_namelookup:  %{time_namelookup}\n
            time_connect:  %{time_connect}\n
         time_appconnect:  %{time_appconnect}\n
        time_pretransfer:  %{time_pretransfer}\n
           time_redirect:  %{time_redirect}\n
      time_starttransfer:  %{time_starttransfer}\n
                         ----------\n
              time_total:  %{time_total}\n