Написать в Telegram@Odilient

ВЕБ-ПЛАТФОРМА

Finkonkurs

Двуязычный портал криптовалютного рынка с актуальными ценами, страницами бирж и сетей, трейдерскими конкурсами, профилями персоналий и новостями на базе платформы, собирающей данные из 40+ источников.

Finkonkurs
Клиент
Финтех и криптовалюты
Отрасль
В развитии с 2024 года
Срок
2026
Год
С чего всё началось

Задача

История Finkonkurs началась в 2010 году, а старый сайт был каталогом форекс-брокеров, трейдерских конкурсов и брокерских новостей с многолетней историей индексации. Задача — полноценный криптовалютный портал на английском и русском языках: монеты, биржи, блокчейн-сети, персоналии, конкурсы и новости. Для этого нужно было подключить десятки API и фидов с разными форматами и лимитами запросов, подготовить оригинальные тексты для тысяч страниц и перезапустить сайт, не потеряв старые URL.

Что мы сделали

Решение

Мы разделили платформу на четыре сервиса. Отдельный скрапер на Laravel 12 собирает данные из всех источников в единую таблицу сырых данных; бэкенд на Laravel превращает их в доменные модели, оценивает риск скама и даёт админ-панель на Filament; n8n выполняет воркфлоу ИИ-обогащения контента; а SSR-фронтенд на Nuxt 4 рендерит сайт с вручную настроенными двуязычными URL. Зеркало старого сайта и точечные редиректы не дают старым адресам отдавать 404.

Технологии
LaravelNuxt 4PostgreSQLRedisFilamentn8nLaravel OctaneTailwind CSSTypeScriptCoolify
За кулисами

Как всё создавалось

Платформа данных криптовалютного рынка для англо- и русскоязычных трейдеров

Finkonkurs — портал криптовалютного рынка по адресу finkonkurs.com, который собирает на одном двуязычном сайте цены криптовалют, рейтинги бирж, активность блокчейн-сетей, трейдерские конкурсы, профили персоналий и новости. Главная страница позиционирует его как место, где можно следить за Bitcoin, Ethereum и 10 000+ монетами, с виджетами настроений рынка, доминирования и объёма за 24 часа рядом с редакционным новостным радаром.

Бренд старше нашей работы над ним: в подвале сайта Finkonkurs датирован 2010 годом, а предыдущий сайт был каталогом форекс-брокеров, трейдерских конкурсов и брокерских новостей. С июня 2024 года мы строим платформу, которая пришла ему на смену, — с собственным слоем сбора данных, ИИ-пайплайном контента и серверным рендерингом фронтенда.

Ключевые возможности

  • Страницы монет, бирж и сетей — рейтинги и детальные страницы с ценами, таблицами рынков, активностью разработчиков, ончейн-метриками и связанными новостями.
  • Рыночный дашборд — главная собрана из отдельных виджетов: индекс страха и жадности (Fear & Greed), доминирование BTC и ETH, объём за 24 часа, главные движения рынка, лидеры роста, трендовые монеты, ликвидации, переводы китов, потоки стейблкоинов и тепловая карта категорий.
  • Трейдерские конкурсы — каталог конкурсов, собранный со страниц кампаний бирж и агрегаторов соревнований.
  • Профили персоналий — страницы основателей и CEO с вердиктами о доверии, построенные на ИИ-досье, в которых государственные санкции фиксируются как нейтральная информация, а не как признак скама.
  • Оценка риска скама — фоновая задача бэкенда рассчитывает для каждой криптовалюты скам-рейтинг с подробной разбивкой, используя такие сигналы, как рейтинги доверия рынков, где она торгуется.
  • Связанные новости — заголовки из CoinDesk, CryptoPanic, GDELT, NewsData и RSS-лент привязываются к упомянутым в них криптовалютам и открываются в модальном окне на странице новостей.
  • Специализированные рейтинги — у маркет-мейкеров, майнинга и проектов экосистемы TON есть свои страницы.
  • Встраиваемый виджет монеты — страница без элементов интерфейса сайта, которую партнёрские сайты могут встроить через iframe, чтобы показывать живые данные монеты.

Архитектура и технологический стек

Рабочее пространство состоит из четырёх сервисов с независимым версионированием, объединённых общим репозиторием из git-субмодулей.

Платформа скрапинга

Все внешние запросы выполняет отдельный сервис на Laravel 12 (PHP 8.4, Octane на Swoole). Больше 120 классов-скраперов охватывают свыше 40 провайдеров, среди них CoinGecko, CoinMarketCap, DefiLlama, Etherscan, L2Beat, Bitquery, Coinalyze, GitHub, Santiment, GoPlus Labs, страницы анонсов бирж и социальные платформы. Каждый источник — это один класс и запись в реестре, а запускает их одна универсальная задача в очереди. Всё попадает в единую таблицу raw_data с дедупликацией по SHA-256 и отпечатками схемы, а потребителям она доступна через представление базы данных только для чтения.

Бэкенд

Бэкенд на Laravel 12 читает это представление через выделенное подключение и превращает сырые данные в доменные модели с помощью более чем 50 классов-трансформеров. Он отдаёт публичный API только для чтения с автоматической документацией через Scramble, работает с Horizon и Pulse и включает админ-панель на Filament почти с 50 ресурсами — для криптовалют, рынков, конкурсов, персоналий, SEO-шаблонов и запусков обогащения.

ИИ-обогащение

Описания и FAQ для монет, бирж и сетей создаёт мультимодельный пайплайн исследований и написания текстов на n8n, промпты которого клиент редактирует прямо в админке. У него есть собственный кейс: «ИИ-пайплайн генерации контента для Finkonkurs».

Фронтенд

Сайт — это SSR-приложение на Nuxt 4 и TypeScript с Tailwind CSS, Pinia, @nuxtjs/i18n и @nuxtjs/sitemap. Клиент API генерируется из OpenAPI-спецификации бэкенда, шрифты раздаются с собственного сервера, а иконки Material Symbols встраиваются как SVG вместо загрузки веб-шрифта на 3,8 МБ.

SEO и производительность

Перезапуск домена с долгой историей означал, что нужно сохранить всё, что поисковики о нём уже знали. Middleware в Nitro отдаёт снимок старого сайта по его исходным чистым URL, а старые разделы без зеркальной страницы перенаправляет редиректом 301 на ближайшую живую. Сейчас зеркало покрывает каждую страницу из снимка на 1 047 страниц, которую не заменяет новое приложение, — против 468, когда оно опиралось на старую карту сайта, — и никогда не перекрывает живые маршруты.

Маршрутизация по языкам настроена вручную, а не оставлена по умолчанию фреймворка. У английской версии нет префикса, у русской — /ru/, но монеты, биржи, сети, персоналии и новости используют родные русские слаги вроде /crypto, /crypto-birzhi и /konkursy, а альтернативные написания перенаправляют на один канонический URL. Короткие «красивые» адреса вроде /bitcoin ведут на нужную детальную страницу, а у страниц есть сгенерированные изображения Open Graph и XML-карты сайта.

Работа над производительностью шла по следам реального трафика. Предзагрузка ссылок отключена: страница монеты ссылается на десятки бирж, данные каждой страницы требуют около 13 запросов к бэкенду, и одной предзагрузки видимых ссылок хватало, чтобы сработал ограничитель частоты запросов API по IP. Кэшированные данные страниц получают явный срок жизни в браузере, чтобы при повторной навигации они не скачивались заново; SSR-запросы подтверждают своё происхождение общим секретом, чтобы бэкенд мог доверять переданному IP клиента; а серверный рендеринг ходит к API по внутренней сети, а не делает круг через Cloudflare.

Инфраструктура

Все сервисы деплоятся через Coolify в три окружения: продакшен на выделенном сервере, разработка на общем сервере и общее окружение, где для обеих стадий через WireGuard работают скрапер и n8n. Продакшен только трансформирует данные: он читает общую базу скрапера, но никогда не запускает скрапинг и не тратит ИИ-кредиты, поэтому платные вызовы происходят один раз, а все стадии используют один и тот же результат. Ежемесячная задача делает дамп обеих баз PostgreSQL, копирует фронтенд в Backblaze B2 и отчитывается через наш бот мониторинга.

Наша роль

Мы создаём и сопровождаем платформу целиком: скрапер и его интеграции, доменную модель бэкенда и админку, воркфлоу n8n, фронтенд на Nuxt и инфраструктуру деплоя. Только в репозитории бэкенда больше 700 коммитов с июня 2024 года, а нынешний фронтенд на Nuxt 4 начат в апреле 2026 года.

Смежные работы

На той же инфраструктуре работает Fakton — мини-приложение для поиска Web3-проектов в экосистеме TON. Ещё один проект с рыночными данными — наш агрегатор криптовалютного рынка; также посмотрите наши услуги по разработке веб-приложений и внедрению ИИ и автоматизации.

Демо-видео

Обзор продукта

Создадим вместе

Хотите что-то вроде Finkonkurs?

Расскажите, что должен делать ваш продукт. Мы определим объём работ, распишем сроки и пришлём фиксированную цену — бесплатно и без обязательств продолжать.

Бесплатная консультация Без обязательств Быстрый ответ