Передумови
Цей всебічний посібник охоплює всі вимоги для налаштування платформи Ring для розробки та виробничого розгортання. Платформа Ring побудована із сучасними веб-технологіями та вимагає специфічних конфігурацій системи для оптимальної продуктивності.
15-30 хвилин для повного налаштування залежно від вашого рівня досвіду та швидкості інтернет-з'єднання.
🖥️ Системні вимоги
Мінімальні вимоги до обладнання
| Компонент | Розробка | Виробництво |
|---|---|---|
| CPU | 4 ядра (Intel i5/AMD Ryzen 5) | 8+ ядер (Intel i7/AMD Ryzen 7) |
| RAM | 8GB | 16GB+ |
| Сховище | 10GB вільного місця | 50GB+ SSD |
| Мережа | 10 Mbps | 100 Mbps+ |
Підтримувані операційні системи
- macOS: 12.0+ (Monterey або новіша)
- Linux: Ubuntu 20.04+, CentOS 8+, Debian 11+
- Windows: 10/11 з WSL2 (Windows Subsystem for Linux)
- Docker: Для контейнеризованої розробки та розгортання
Хоча платформа Ring працює на Windows з WSL2, ми рекомендуємо використовувати Linux або macOS для найкращого досвіду розробки. Деякі функції можуть мати обмежену підтримку Windows.
🟢 Node.js & управління пакетами
Необхідні версії
Платформа Ring вимагає Node.js 18.17+ та npm 8.19+ (або еквівалентні менеджери пакетів).
Перевірка поточних версій
node --version # Має показати v18.17.0 або вище
npm --version # Має показати 8.19.0 або вищеРекомендоване налаштування
Варіант 1: Node Version Manager (Рекомендовано)
macOS/Linux з nvm: Встановлення nvm Перезавантаження терміналу або виконання: Встановлення та використання Node.js 18
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 18
nvm use 18
nvm alias default 18Windows з nvm-windows: Завантаження та встановлення з https://github.com/coreybutler/nvm-windows/releases Потім встановлення Node.js 18
nvm install 18
nvm use 18Варіант 2: Офіційні інсталятори
Завантаження з nodejs.org та встановлення Node.js 18 LTS.
Варіант 3: Менеджери пакетів
macOS з Homebrew:
brew install node@18
brew link node@18Ubuntu/Debian:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejsКонфігурація менеджера пакетів
Конфігурація npm для кращої продуктивності Необов'язково: Використання yarn для швидших інсталяцій
npm config set fund false
npm config set audit false
npm install -g yarn🗄️ Налаштування бази даних
Платформа Ring підтримує кілька бекендів баз даних із PostgreSQL як основною рекомендацією.
Варіант 1: PostgreSQL (Рекомендовано для виробництва)
Налаштування для локальної розробки
macOS з Homebrew: Створення бази даних
brew install postgresql@15
brew services start postgresql@15
createdb ring_platformUbuntu/Debian: Запуск сервісу Створення бази даних
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo -u postgres createdb ring_platformDocker (кросплатформний): Запуск PostgreSQL у Docker Для постійних даних
docker run --name ring-postgres -e POSTGRES_DB=ring_platform -e POSTGRES_USER=ring_user -e POSTGRES_PASSWORD=your_password -p 5432:5432 -d postgres:15
docker run --name ring-postgres -e POSTGRES_DB=ring_platform -e POSTGRES_USER=ring_user -e POSTGRES_PASSWORD=your_password -v ring_data:/var/lib/postgresql/data -p 5432:5432 -d postgres:15Варіанти PostgreSQL у хмарі
- Supabase: Керований PostgreSQL з функціями реального часу
- Neon: Серверний PostgreSQL
- AWS RDS: Підприємницький хостинг PostgreSQL
- Google Cloud SQL: Керований сервіс PostgreSQL
- Azure Database: Пропозиція PostgreSQL від Microsoft
Варіант 2: Firebase (Розробка/Легасі)
Хоча Firebase все ще підтримується для сумісності, PostgreSQL настійно рекомендується для нових розгортань.
# Налаштування Firebase буде розглянуто в конфігурації середовища🔐 Провайдери аутентифікації
Платформа Ring використовує Auth.js v5 з кількома провайдерами OAuth для безпечної аутентифікації.
Налаштування Google OAuth
-
Створення проекту Google Cloud
- Перейти до Google Cloud Console
- Створити новий проект або вибрати існуючий
-
Увімкнення Google+ API
- Перейти до "APIs & Services" > "Library"
- Знайти та увімкнути "Google+ API"
-
Створення облікових даних OAuth
- Перейти до "APIs & Services" > "Credentials"
- Натиснути "Create Credentials" > "OAuth 2.0 Client IDs"
- Обрати "Web application"
- Додати авторизовані джерела:
http://localhost:3000(розробка)https://yourdomain.com(виробництво)
- Додати авторизовані URI перенаправлення:
http://localhost:3000/api/auth/callback/googlehttps://yourdomain.com/api/auth/callback/google
-
Отримання Client ID та Secret
- Скопіювати Client ID та Client Secret
Налаштування Sign-in з Apple (Необов'язково)
Необхідно для iOS інтеграції додатку:
-
Обліковий запис Apple Developer
- Платний обліковий запис розробника ($99/рік)
- Доступ до Apple Developer Portal
-
Створення App ID
- Certificates, Identifiers & Profiles > Identifiers
- Створити новий App ID із можливістю Sign in with Apple
-
Створення Service ID
- Створити Services ID для веб-аутентифікації
- Налаштувати повернення URL для вашого домену
-
Створення приватного ключа
- Створити новий ключ із можливістю Sign in with Apple
- Завантажити файл
.p8(зберігати безпечно!)
Додаткові провайдери OAuth (Необов'язкові)
- GitHub: Аутентифікація для розробників
- Discord: Інтеграція платформи спільноти
- Twitter/X: Аутентифікація соціальних мереж
🔑 Інтеграція гаманця Web3
Для блокчейн-функцій, включаючи ринок NFT та операції з токенами RING.
Налаштування MetaMask
Встановлення розширення браузера MetaMask Відвідати: https://metamask.io/download/ Або встановити через менеджер пакетів macOS Linux Завантажити з офіційного веб-сайту
brew install --cask metamaskКлюч шифрування гаманця
Створіть безпечний ключ шифрування для операцій гаманця:
Створення 256-бітного (32-байтового) шістнадцяткового ключа Приклад виводу: a1b2c3d4e5f678901234567890abcdef1234567890abcdef1234567890abcdef
openssl rand -hex 32💰 Інтеграція оплати (WayForPay)
Необхідно для оформлення замовлень у магазині та преміум-функцій.
Налаштування облікового запису WayForPay
-
Створення облікового запису продавця
- Відвідати WayForPay
- Зареєструватися як продавець
- Завершити верифікацію KYC
-
Отримання API облікових даних
- Увійти до панелі продавця
- Перейти до налаштувань API
- Скопіювати Merchant Account та Secret Key
-
Налаштування методів оплати
- Увімкнути оплату картками
- Налаштувати Apple Pay / Google Pay
- Налаштувати підтримку валют (UAH, USD, EUR)
🛠️ Інструменти розробки
Основні інструменти
Встановлення Git (якщо не встановлено) Встановлення залежностей розробки Необов'язково: Встановлення розширень VS Code - TypeScript and JavaScript Language Features - Tailwind CSS IntelliSense - Prettier - Code formatter - ESLint
git --version
npm install -g typescript @types/nodeРекомендоване налаштування IDE
Visual Studio Code із цими розширеннями:
ms-vscode.vscode-typescript-nextbradlc.vscode-tailwindcssesbenp.prettier-vscodedbaeumer.vscode-eslintms-vscode.vscode-json
Шаблон файлу середовища
Створіть .env.local із наданого шаблону:
# cp .env.local.template .env.local🌐 Мережеві вимоги
Розробка
- Інтернет-з'єднання: Необхідне для встановлення пакетів та тестування OAuth
- Локальні порти: 3000 (Next.js), 5432 (PostgreSQL)
- Файрвол: Дозволити вихідні HTTPS-з'єднання
Виробництво
- SSL-сертифікат: Необхідний для HTTPS (Let's Encrypt рекомендується)
- Домен: Користувацький домен рекомендується
- CDN: Необов'язковий, але рекомендується для статичних ресурсів
- WebSocket підтримка: Необхідна для функцій реального часу
🔒 Міри безпеки
Змінні середовища
Ніколи не фіксувати конфіденційні дані в системі контролю версій:
.env.local (розробка - зберігати локально) .env.production (виробництво - встановити через платформу розгортання) Ті ж змінні, але з виробничими значеннями
AUTH_SECRET=your-auth-secret
AUTH_GOOGLE_ID=your-google-client-id
AUTH_GOOGLE_SECRET=your-google-client-secret
WALLET_ENCRYPTION_KEY=your-32-byte-hex-keyДозволи файлів
Захистити файли середовища Захистити приватні ключі
chmod 600 .env.local
chmod 600 .env.production
chmod 400 path/to/private-key.pem🧪 Контрольний список валідації
Запустіть ці команди для перевірки налаштування:
Валідація системи
Перевірка Node.js та npm Перевірка системних ресурсів Перевірка мережевого з'єднання
node --version # v18.17.0+
npm --version # 8.19.0+
df -h # Місце на диску
free -h # Пам'ять (Linux)
vm_stat # Пам'ять (macOS)
curl -I https://registry.npmjs.org/Валідація бази даних
PostgreSQL: Перевірка з'єднання Або з Docker
psql -h localhost -U ring_user -d ring_platform -c "SELECT version();"
docker exec -it ring-postgres psql -U ring_user -d ring_platform -c "SELECT 1;"Firebase (якщо використовується): Перевірка CLI Firebase Вхід до Firebase
firebase --version
firebase loginВалідація OAuth
Перевірка формату облікових даних Google OAuth Перевірка облікових даних Apple (якщо використовується) Перевірка доступності URL
echo $AUTH_GOOGLE_ID | grep -E "^[0-9]+-[a-zA-Z0-9_]+.apps.googleusercontent.com$"
echo $AUTH_APPLE_ID | grep -E "^com."
curl -s -o /dev/null -w "%{http_code}" https://accounts.google.comВалідація Web3
Перевірка формату ключа шифрування гаманця Перевірка встановлення MetaMask (ручна) Відкрити браузер та перевірити розширення MetaMask
echo $WALLET_ENCRYPTION_KEY | grep -E "^[a-f0-9]{64}$"🐛 Усунення поширених проблем
Проблеми з версією Node.js
Якщо ви бачите "Node.js version not supported"
nvm install 18
nvm use 18
# Очистити кеш npm
npm cache clean --force
rm -rf node_modules package-lock.json
npm installПроблеми з'єднання з базою даних
PostgreSQL: Перевірка запуску PostgreSQL Скидання пароля PostgreSQL
sudo systemctl status postgresql # Linux
brew services list | grep postgresql # macOS
sudo -u postgres psql
ALTER USER ring_user PASSWORD 'new_password';Firebase: Повторна аутентифікація Firebase Перевірка доступу до проекту
firebase logout
firebase login
firebase projects:listПроблеми конфігурації OAuth
# Помилки Google OAuth
# 1. Перевірити авторизовані джерела включають ваш домен
# 2. Перевірити URI перенаправлення збігаються точно
# 3. Переконатися, що Google+ API увімкнено
# Помилки Sign-in з Apple
# 1. Перевірити App ID та Service ID збігаються
# 2. Перевірити формат приватного ключа та дозволи
# 3. Перевірити повернення URL у Apple Developer portalМережеві та файрвол проблеми
Перевірка з'єднання з необхідними сервісами Перевірка дозволу DNS Перевірити на іншій мережі, якщо проблеми зберігаються
curl -I https://accounts.google.com
curl -I https://api.github.com
curl -I https://registry.npmjs.org/
nslookup accounts.google.com📚 Наступні кроки
Після виконання всіх передумов:
- Посібник встановлення - Клонувати та налаштувати проект
- Конфігурація середовища - Завершити налаштування
.env.local - Валідація першого успіху - Перевірити встановлення
- Робочий процес розробки - Почати робити внесок
Якщо всі валідації пройшли успішно, ви готові встановити платформу Ring! Перейдіть до Посібника встановлення для початку роботи.
Потрібна допомога з налаштуванням? Приєднуйтеся до нашого Discord Community для підтримки.