Ring Platform

AI Self-Construct

🏠
Головна
ОрганізаціїHot
МожливостіNew
Магазин
Platform Concepts
RING Економіка
Трійця Україна
Глобальний вплив
AI зустрічає Web3
Розпочати
Документація
Швидкий старт
Калькулятор розгортання
Offline
v1.48•Trinity
Privacy|Contact
Ring Platform Logo

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

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

Documentation

Початок роботи

Огляд
Встановлення
Передумови
Перший успіх
Наступні кроки
Усунення несправностей

Архітектура

Огляд архітектури
Архітектура автентифікації
Модель даних
Реальний час
Безпека

Функції

Функції платформи
Автентифікація
Сутності
Можливості
Мультивендорний магазин
Web3 гаманець
Повідомлення
Сповіщення
NFT маркетплейс
Інтеграція платежів
Безпека та відповідність
Стейкінг токенів
Продуктивність

API довідник

Огляд API
API автентифікації
API сутностей
API можливостей
API магазину
API гаманця
API повідомлень
API сповіщень
API адміністратора

CLI інструмент

Ring CLI

Налаштування

Огляд налаштувань
Брендинг
Теми
Компоненти
Функції
Локалізація

Розгортання

Огляд розгортання
Docker
Vercel
Середовище
Моніторинг
Продуктивність
Резервне копіювання

Розробка

Посібник розробника
Локальне налаштування
Структура коду
Стиль коду
Кращі практики
Тестування
Налагодження
Продуктивність
Розгортання
Робочий процес
Внесок

Приклади

Огляд прикладів
Швидкий старт
Базове налаштування
Автентифікація
API інтеграція
Приклади API
Власний брендинг
White Label
Мультитенант
Web3 інтеграція
Вхід через Apple
Інтеграції третіх сторін
Розширені функції
Реальні кейси

White Label

Огляд White Label
Швидкий старт
Посібник з налаштування
Вибір бази даних
Інтеграція платежів
Токеноміка
Налаштування мультитенант
AI налаштування
Історії успіху

Quick Links

API Reference
Code Examples
Changelog
Support
Ring Platform

AI Self-Construct

🏠
Головна
ОрганізаціїHot
МожливостіNew
Магазин
Platform Concepts
RING Економіка
Трійця Україна
Глобальний вплив
AI зустрічає Web3
Розпочати
Документація
Швидкий старт
Калькулятор розгортання
Offline
v1.48•Trinity
Privacy|Contact
Ring Platform Logo

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

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

Documentation

Початок роботи

Огляд
Встановлення
Передумови
Перший успіх
Наступні кроки
Усунення несправностей

Архітектура

Огляд архітектури
Архітектура автентифікації
Модель даних
Реальний час
Безпека

Функції

Функції платформи
Автентифікація
Сутності
Можливості
Мультивендорний магазин
Web3 гаманець
Повідомлення
Сповіщення
NFT маркетплейс
Інтеграція платежів
Безпека та відповідність
Стейкінг токенів
Продуктивність

API довідник

Огляд API
API автентифікації
API сутностей
API можливостей
API магазину
API гаманця
API повідомлень
API сповіщень
API адміністратора

CLI інструмент

Ring CLI

Налаштування

Огляд налаштувань
Брендинг
Теми
Компоненти
Функції
Локалізація

Розгортання

Огляд розгортання
Docker
Vercel
Середовище
Моніторинг
Продуктивність
Резервне копіювання

Розробка

Посібник розробника
Локальне налаштування
Структура коду
Стиль коду
Кращі практики
Тестування
Налагодження
Продуктивність
Розгортання
Робочий процес
Внесок

Приклади

Огляд прикладів
Швидкий старт
Базове налаштування
Автентифікація
API інтеграція
Приклади API
Власний брендинг
White Label
Мультитенант
Web3 інтеграція
Вхід через Apple
Інтеграції третіх сторін
Розширені функції
Реальні кейси

White Label

Огляд White Label
Швидкий старт
Посібник з налаштування
Вибір бази даних
Інтеграція платежів
Токеноміка
Налаштування мультитенант
AI налаштування
Історії успіху

Quick Links

API Reference
Code Examples
Changelog
Support
Ring Platform Logo

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

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

Documentation

Початок роботи

Огляд
Встановлення
Передумови
Перший успіх
Наступні кроки
Усунення несправностей

Архітектура

Огляд архітектури
Архітектура автентифікації
Модель даних
Реальний час
Безпека

Функції

Функції платформи
Автентифікація
Сутності
Можливості
Мультивендорний магазин
Web3 гаманець
Повідомлення
Сповіщення
NFT маркетплейс
Інтеграція платежів
Безпека та відповідність
Стейкінг токенів
Продуктивність

API довідник

Огляд API
API автентифікації
API сутностей
API можливостей
API магазину
API гаманця
API повідомлень
API сповіщень
API адміністратора

CLI інструмент

Ring CLI

Налаштування

Огляд налаштувань
Брендинг
Теми
Компоненти
Функції
Локалізація

Розгортання

Огляд розгортання
Docker
Vercel
Середовище
Моніторинг
Продуктивність
Резервне копіювання

Розробка

Посібник розробника
Локальне налаштування
Структура коду
Стиль коду
Кращі практики
Тестування
Налагодження
Продуктивність
Розгортання
Робочий процес
Внесок

Приклади

Огляд прикладів
Швидкий старт
Базове налаштування
Автентифікація
API інтеграція
Приклади API
Власний брендинг
White Label
Мультитенант
Web3 інтеграція
Вхід через Apple
Інтеграції третіх сторін
Розширені функції
Реальні кейси

White Label

Огляд White Label
Швидкий старт
Посібник з налаштування
Вибір бази даних
Інтеграція платежів
Токеноміка
Налаштування мультитенант
AI налаштування
Історії успіху

Quick Links

API Reference
Code Examples
Changelog
Support

Про нас

Про нашу платформу та сервіси

Швидкі посилання

  • Компанії
  • Можливості
  • Контакти
  • Документація

Контакти

б-р Шевченка 195, Черкаси, Україна

contact@ring.ck.ua

+38 097 532 8801

Ми в мережах

© 2025 Ring

Політика конфіденційностіУмови використання

Про нас

Про нашу платформу та сервіси

Швидкі посилання

  • Компанії
  • Можливості
  • Контакти
  • Документація

Контакти

б-р Шевченка 195, Черкаси, Україна

contact@ring.ck.ua

+38 097 532 8801

Ми в мережах

© 2025 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 Перевірка логів додатку

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

    terminal
    bash
    npm run dev

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

    ▲ Next.js 15.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-відповіді

    terminal
    bash
    curl -I http://localhost:3000

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

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

    terminal
    bash
    curl -s http://localhost:3000 | head -20

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

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

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

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

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

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

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

    Очікуваний:

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

    2.2 Потік Google OAuth

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

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

    terminal
    bash
    curl -I "http://localhost:3000/api/auth/callback/google"

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

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

    terminal
    bash
    curl -X GET "http://localhost:3000/api/auth/session" -H "Cookie: $(curl -c cookies.txt -b cookies.txt http://localhost:3000/api/auth/session | grep -o 'next-auth.session-token=[^;]*')"

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

    {
    json
    "user": {
      "id": "user-id",
      "name": "User Name",
      "email": "user@example.com",
      "image": "https://...",
      "role": "MEMBER"
    },
    "expires": "2025-..."
    }

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

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

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

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

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

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

    terminal
    bash
    curl http://localhost:3000/api/health

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

    {
    json
    "status": "ok",
    "timestamp": "2025-10-16T...",
    "database": "connected",
    "version": "0.9.18"
    }

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

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

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

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

    terminal
    bash
    curl "http://localhost:3000/api/entities"

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

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

    terminal
    bash
    psql -h localhost -U ring_user -d ring_platform -c "SELECT COUNT(*) FROM users;"

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

    terminal
    bash
    curl "http://localhost:3000/api/test-db"
    4

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

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

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

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

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

    terminal
    bash
    curl "http://localhost:3000/api/opportunities?limit=5"

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

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

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

    terminal
    bash
    curl -X POST "http://localhost:3000/api/tunnel/test" -H "Content-Type: application/json" -d '{"test": "connection"}'

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

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

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

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

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

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

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

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

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

    terminal
    bash
    curl "http://localhost:3000/api/wallet/balance"

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

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

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

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

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

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

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

    terminal
    bash
    curl -w "@curl-format.txt" -o /dev/null -s "http://localhost:3000/api/health"

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

         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
    

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

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

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

    terminal
    bash
    for i in {1..10}; do
    curl -s "http://localhost:3000/api/health" &
    done
    wait

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

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

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

    terminal
    bash
    curl -I "http://localhost:3000/nonexistent-page"
    
    curl "http://localhost:3000/api/entities/invalid-id"

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

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

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

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

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

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

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

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

    terminal
    bash
    sudo systemctl status postgresql  # Linux
    brew services list | grep postgresql  # macOS
    
    psql -h localhost -U ring_user -d ring_platform

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

    terminal
    bash
    firebase projects:list
    firebase use your-project-id

    Проблеми API

    "API endpoint not found":

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

    Помилки CORS:

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

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

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

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

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

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

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

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

    terminal
    bash
    npm run build
    ls -lh .next/static/chunks/

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

    terminal
    bash
    top -p $(pgrep -f "next-server")

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

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

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

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

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

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

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

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

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

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

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

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

    1. Дослідження функцій - Відкрийте всі можливості платформи
    2. Кастомізація брендингу - Зробіть її своєю
    3. Додавання нових функцій - Розширте функціональність
    4. Розгортання у виробництво - Поділіться зі світом
    5. Приєднання до спільноти - Зв'яжіться з іншими розробниками

    Потрібна допомога з кастомізацією? Перегляньте наш посібник white-label для розширених варіантів кастомізації.


    Виникли проблеми? Перегляньте наш посібник усунення несправностей або приєднуйтеся до нашої 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 Перевірка логів додатку

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

    terminal
    bash
    npm run dev

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

    ▲ Next.js 15.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-відповіді

    terminal
    bash
    curl -I http://localhost:3000

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

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

    terminal
    bash
    curl -s http://localhost:3000 | head -20

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

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

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

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

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

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

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

    Очікуваний:

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

    2.2 Потік Google OAuth

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

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

    terminal
    bash
    curl -I "http://localhost:3000/api/auth/callback/google"

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

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

    terminal
    bash
    curl -X GET "http://localhost:3000/api/auth/session" -H "Cookie: $(curl -c cookies.txt -b cookies.txt http://localhost:3000/api/auth/session | grep -o 'next-auth.session-token=[^;]*')"

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

    {
    json
    "user": {
      "id": "user-id",
      "name": "User Name",
      "email": "user@example.com",
      "image": "https://...",
      "role": "MEMBER"
    },
    "expires": "2025-..."
    }

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

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

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

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

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

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

    terminal
    bash
    curl http://localhost:3000/api/health

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

    {
    json
    "status": "ok",
    "timestamp": "2025-10-16T...",
    "database": "connected",
    "version": "0.9.18"
    }

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

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

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

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

    terminal
    bash
    curl "http://localhost:3000/api/entities"

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

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

    terminal
    bash
    psql -h localhost -U ring_user -d ring_platform -c "SELECT COUNT(*) FROM users;"

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

    terminal
    bash
    curl "http://localhost:3000/api/test-db"
    4

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

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

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

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

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

    terminal
    bash
    curl "http://localhost:3000/api/opportunities?limit=5"

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

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

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

    terminal
    bash
    curl -X POST "http://localhost:3000/api/tunnel/test" -H "Content-Type: application/json" -d '{"test": "connection"}'

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

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

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

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

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

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

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

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

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

    terminal
    bash
    curl "http://localhost:3000/api/wallet/balance"

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

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

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

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

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

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

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

    terminal
    bash
    curl -w "@curl-format.txt" -o /dev/null -s "http://localhost:3000/api/health"

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

         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
    

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

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

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

    terminal
    bash
    for i in {1..10}; do
    curl -s "http://localhost:3000/api/health" &
    done
    wait

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

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

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

    terminal
    bash
    curl -I "http://localhost:3000/nonexistent-page"
    
    curl "http://localhost:3000/api/entities/invalid-id"

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

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

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

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

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

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

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

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

    terminal
    bash
    sudo systemctl status postgresql  # Linux
    brew services list | grep postgresql  # macOS
    
    psql -h localhost -U ring_user -d ring_platform

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

    terminal
    bash
    firebase projects:list
    firebase use your-project-id

    Проблеми API

    "API endpoint not found":

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

    Помилки CORS:

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

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

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

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

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

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

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

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

    terminal
    bash
    npm run build
    ls -lh .next/static/chunks/

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

    terminal
    bash
    top -p $(pgrep -f "next-server")

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

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

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

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

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

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

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

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

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

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

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

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

    1. Дослідження функцій - Відкрийте всі можливості платформи
    2. Кастомізація брендингу - Зробіть її своєю
    3. Додавання нових функцій - Розширте функціональність
    4. Розгортання у виробництво - Поділіться зі світом
    5. Приєднання до спільноти - Зв'яжіться з іншими розробниками

    Потрібна допомога з кастомізацією? Перегляньте наш посібник white-label для розширених варіантів кастомізації.


    Виникли проблеми? Перегляньте наш посібник усунення несправностей або приєднуйтеся до нашої 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 Перевірка логів додатку

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

    terminal
    bash
    npm run dev

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

    ▲ Next.js 15.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-відповіді

    terminal
    bash
    curl -I http://localhost:3000

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

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

    terminal
    bash
    curl -s http://localhost:3000 | head -20

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

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

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

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

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

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

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

    Очікуваний:

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

    2.2 Потік Google OAuth

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

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

    terminal
    bash
    curl -I "http://localhost:3000/api/auth/callback/google"

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

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

    terminal
    bash
    curl -X GET "http://localhost:3000/api/auth/session" -H "Cookie: $(curl -c cookies.txt -b cookies.txt http://localhost:3000/api/auth/session | grep -o 'next-auth.session-token=[^;]*')"

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

    {
    json
    "user": {
      "id": "user-id",
      "name": "User Name",
      "email": "user@example.com",
      "image": "https://...",
      "role": "MEMBER"
    },
    "expires": "2025-..."
    }

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

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

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

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

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

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

    terminal
    bash
    curl http://localhost:3000/api/health

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

    {
    json
    "status": "ok",
    "timestamp": "2025-10-16T...",
    "database": "connected",
    "version": "0.9.18"
    }

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

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

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

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

    terminal
    bash
    curl "http://localhost:3000/api/entities"

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

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

    terminal
    bash
    psql -h localhost -U ring_user -d ring_platform -c "SELECT COUNT(*) FROM users;"

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

    terminal
    bash
    curl "http://localhost:3000/api/test-db"
    4

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

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

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

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

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

    terminal
    bash
    curl "http://localhost:3000/api/opportunities?limit=5"

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

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

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

    terminal
    bash
    curl -X POST "http://localhost:3000/api/tunnel/test" -H "Content-Type: application/json" -d '{"test": "connection"}'

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

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

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

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

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

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

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

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

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

    terminal
    bash
    curl "http://localhost:3000/api/wallet/balance"

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

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

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

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

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

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

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

    terminal
    bash
    curl -w "@curl-format.txt" -o /dev/null -s "http://localhost:3000/api/health"

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

         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
    

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

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

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

    terminal
    bash
    for i in {1..10}; do
    curl -s "http://localhost:3000/api/health" &
    done
    wait

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

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

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

    terminal
    bash
    curl -I "http://localhost:3000/nonexistent-page"
    
    curl "http://localhost:3000/api/entities/invalid-id"

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

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

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

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

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

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

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

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

    terminal
    bash
    sudo systemctl status postgresql  # Linux
    brew services list | grep postgresql  # macOS
    
    psql -h localhost -U ring_user -d ring_platform

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

    terminal
    bash
    firebase projects:list
    firebase use your-project-id

    Проблеми API

    "API endpoint not found":

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

    Помилки CORS:

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

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

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

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

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

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

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

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

    terminal
    bash
    npm run build
    ls -lh .next/static/chunks/

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

    terminal
    bash
    top -p $(pgrep -f "next-server")

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

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

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

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

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

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

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

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

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

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

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

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

    1. Дослідження функцій - Відкрийте всі можливості платформи
    2. Кастомізація брендингу - Зробіть її своєю
    3. Додавання нових функцій - Розширте функціональність
    4. Розгортання у виробництво - Поділіться зі світом
    5. Приєднання до спільноти - Зв'яжіться з іншими розробниками

    Потрібна допомога з кастомізацією? Перегляньте наш посібник white-label для розширених варіантів кастомізації.


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