Перейти к содержимому
White-label SaaSКорпоративный сайт

N1 SMM Panel — White-label SaaS

TwigJavaScripti18nRapidAPIPHP proxyCloudflare

Контекст

Клиент — реселлер SMM-услуг, работающий на базе белорусской платформы PerfectPanel. Задача: превратить стандартную панель в полностью кастомный продукт под брендом N1, который выглядел бы как самостоятельный SaaS, а не ребрендированный чужой сервис.

Целевая аудитория — клиенты из 9 основных стран с разными языками и письменностями, включая арабский (RTL).

Что нужно было сделать

  • Полная замена UI: логотипы, цвета, шрифты, иконки, компоненты навигации
  • Мультиязычность на 9 языков с правосторонним текстом для арабского
  • Встроенный Stories/Highlights/Reels/Post-viewer&downloader для просмотра и скачивания публичных профилей прямо в панели
  • Кастомные JS-компоненты поверх ограниченного Twig-движка платформы
  • Проксирование внешних API через PHP для обхода CORS и ограничений браузера
Главная страница панели после кастомизации
Главная страница панели после кастомизации

Технические решения

Мультиязычность с i18n

PerfectPanel не имеет встроенной поддержки i18n. Я реализовал собственную систему переводов поверх Twig: JSON-словари на каждый язык, JS-функция подстановки с поддержкой плюрализации и падежей. Арабский и иврит потребовали отдельного CSS-слоя с direction: rtl и зеркальными отступами.

// Пример: динамическая подстановка перевода
t('orders.status.pending', { count: 5 })
// → "5 заказов в ожидании" (RU)
// → "5 orders pending" (EN)
// → "٥ طلبات معلّقة" (AR, RTL)

Instagram Viewer через RapidAPI + PHP proxy

Браузер не позволяет делать запросы к Instagram API напрямую из-за CORS. Схема:

  1. Фронтенд отправляет запрос на /api/ig-proxy.php?username=... (эндпоинт изменен)
  2. PHP-скрипт на сервере делает запрос к RapidAPI (Instagram scraper)
  3. Ответ кешируется на 30 минут, возвращается фронтенду
  4. JS рендерит посты, сторис, статистику в кастомном блоке + lightbox-виджете

Cloudflare Workers для гео-ограничений

Часть пользователей находилась в странах с ограниченным доступом к Instagram. Cloudflare Worker проксировал запросы через разные регионы в зависимости от геолокации пользователя — автоматически, без ручного VPN.

Результат проекта

Панель управления заказами — кастомный UI поверх PerfectPanel
Панель управления заказами — кастомный UI поверх PerfectPanel
  • 385 511+ зарегистрированных пользователей из 9 стран за всё время
  • 42 919 899 выполненных ордеров
  • Зелёная зона по Page Speed Insight по мобильной и компьютерной версии.

Скрины интерфейса

Страница нового заказа
Страница нового заказа
Профиль пользователя - текущий статус и баланс
Профиль пользователя - текущий статус и баланс

Архив сайта

Ниже - пример главной страницы панели (сохранено на момент завершения проекта).

N1 SMM Panel — скриншоты интерфейса
N1 SMM Panel — скриншоты интерфейса — страница 1N1 SMM Panel — скриншоты интерфейса — страница 2N1 SMM Panel — скриншоты интерфейса — страница 3N1 SMM Panel — скриншоты интерфейса — страница 4