**База данных:** - Создана таблица referrals в MariaDB (193.168.175.128) - Поля: username, referrer_username, referral_count, bonus_days_earned - Foreign keys к users таблице с CASCADE/SET NULL **API Endpoints:** - POST /api/referral/track - отслеживание новых рефералов - Автоматический расчёт бонусов: +7 дней за каждого - Milestone bonus: +30 дней за каждые 5 рефералов - Обновление expire даты реферера в users таблице - GET /api/referral/stats?username=xxx - статистика - Возвращает количество рефералов, бонусные дни - Список приглашённых пользователей со статусами **Интеграция:** - POST /api/create-user принимает referrerId параметр - Автоматический вызов /api/referral/track после создания юзера - Параметр ref из URL при активации trial **UI:** - /app/referral/page.tsx - страница статистики - 3 KPI карточки: рефералов, бонусных дней, milestone - Реферальная ссылка с кнопкой копирования - Список приглашённых юзеров с иконками статуса - Инфоблок о механике начисления бонусов **ReferralModal обновлён:** - Добавлена кнопка «Моя статистика» → /referral - Перенос Share/Copy кнопок на второй/третий план **Зависимости:** - mysql2@3.16.3 - для подключения к MariaDB **Логика бонусов:** - +7 дней за каждого успешного реферала - +30 дней бонус за каждые 5 рефералов (milestone) - Автоматическое обновление expire поля в users таблице - Сохранение всех бонусов в bonus_days_earned
30 lines
666 B
JSON
30 lines
666 B
JSON
{
|
|
"name": "nextjs",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev -p 3099",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "next lint"
|
|
},
|
|
"dependencies": {
|
|
"@types/node": "20.6.2",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "18.2.22",
|
|
"@types/react-dom": "18.2.7",
|
|
"autoprefixer": "10.4.15",
|
|
"eslint": "8.49.0",
|
|
"eslint-config-next": "13.5.1",
|
|
"lucide-react": "^0.563.0",
|
|
"mysql2": "^3.16.3",
|
|
"next": "13.5.1",
|
|
"postcss": "8.4.30",
|
|
"qrcode": "^1.5.4",
|
|
"react": "18.2.0",
|
|
"react-dom": "18.2.0",
|
|
"tailwindcss": "3.3.3",
|
|
"typescript": "5.2.2"
|
|
}
|
|
}
|