---
title: "Валідація першого успіху"
description: "Всебічний контрольний список валідації для перевірки встановлення та забезпечення правильної роботи всіх функцій платформи Ring"
locale: "uk"
---
# Валідація першого успіху ✅

Цей всебічний посібник валідації гарантує, що ваше встановлення платформи 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 Перевірка логів додатку

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

{`npm run dev`}

**Очікуваний вивід:**
```
▲ 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-відповіді

{`curl -I http://localhost:3000`}

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

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

{`curl -s http://localhost:3000 | head -20`}

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

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

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

### Фаза 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 (перенаправлення)

{`curl -I "http://localhost:3000/api/auth/callback/google"`}

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

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

{`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=[^;]*')"`}

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

{`"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.1 Перевірка здоров'я API

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

{`curl http://localhost:3000/api/health`}

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

{`"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 валідація:**
Список сутностей Очікуваний: Масив сутностей або порожній масив

{`curl "http://localhost:3000/api/entities"`}

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

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

{`psql -h localhost -U ring_user -d ring_platform -c "SELECT COUNT(*) FROM users;"`}

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

{`curl "http://localhost:3000/api/test-db"`}

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

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

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

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

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

{`curl "http://localhost:3000/api/opportunities?limit=5"`}

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

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

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

{`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: Функції Web3 та гаманця

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

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

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

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

{`curl "http://localhost:3000/api/wallet/balance"`}

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

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

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

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

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

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

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

{`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 секунд

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

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

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

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

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

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

{`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 Тест з'єднання

{`sudo systemctl status postgresql  # Linux
brew services list | grep postgresql  # macOS

psql -h localhost -U ring_user -d ring_platform`}

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

{`firebase projects:list
firebase use your-project-id`}

### Проблеми API

**"API endpoint not found":**
- Перевірити запуск сервера Next.js
- Перевірити існування файлу API маршруту
- Переглянути логи сервера на помилки

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

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

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

**Повідомлення не з'являються:**
- Перевірити дозволи браузера на повідомлення
- Перевірити вхід користувача в систему
- Перевірити з іншими тригерними подіями

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

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

{`npm run build
ls -lh .next/static/chunks/`}

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

{`top -p $(pgrep -f "next-server")`}

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

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

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

**✅ ПОВНИЙ УСПІХ** - Усі прапорці вище позначені
- Додаток працює без помилок
- Усі основні функції працюють end-to-end
- Продуктивність відповідає очікуванням
- Жодних критичних проблем не залишилося

**⚠️ ЧАСТКОВИЙ УСПІХ** - 70%+ функціональних
- Основна аутентифікація та база даних працюють
- Більшість функцій функціональні з незначними проблемами
- Можна перейти до розробки/кастомізації

**❌ ПОТРІБНА УВАГА** - < 70% функціональних
- Переглянути розділ усунення несправностей
- Перевірити налаштування передумов
- Повторити кроки встановлення

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

Вітаємо! Ваше встановлення платформи Ring повністю функціональне. Використовуйте провідник вище, щоб відкрити документацію функцій, потім [налаштуйте брендинг](/docs/customization/branding.md), [розгорніть у продакшен](/docs/deployment.md) або [приєднайтесь до спільноти](https://discord.gg/ring-platform).

**Потрібна допомога з кастомізацією?** Див. [Кастомізацію](/docs/customization.md) для посібників оператора та брендингу.

---

*Виникли проблеми? Перегляньте наш [посібник усунення несправностей](/uk/docs/getting-started/troubleshooting) або приєднуйтеся до нашої [Discord спільноти](https://discord.gg/ring-platform) для підтримки.*
