Мхитар Манасян bestmdidi Паспорт верифицирован
Сайты, Telegram-боты и Mini Apps - Next.js, Nest.js, Node.js
Рейтинг
29 648
№ 25 в каталоге
Отзывы
Профессионализм
10/10
Коммуникация
10 /10
Город
Москва
Опыт работы
6 лет
На сайте с
2022 года
Юридический статус
Самозанятый
Эксперт
Национальной Гильдии Фрилансеров
Freelance.Boutique
Премиум-сервис для лучших исполнителей

PropFirmWay - платформа для сравнения проп-трейдинговых фирм: каталог челленджей, рейтинги и отзывы трейдеров, AI-скрейпер, SEO-ядро | Next.js, Nest.js, Node.js

Используемые навыки Nest.js Next.js Nginx Node.js React.js

Описание

Клиент пришёл с идеей агрегатора проп-трейдинговых фирм - сайта, где трейдер в одном месте сравнивает компании, их челленджи, условия и выплаты и выбирает, где получить финансируемый счёт.

Нужна была не витрина, а полноценная платформа:
- каталог фирм и челленджей с фильтрами, сравнением условий и детальными карточками;
- отзывы трейдеров с верификацией выплат, рейтинги и Trust Score;
- программа лояльности, промокоды и партнёрские награды;
- роли для всех сторон: трейдеры, владельцы фирм, партнёры, модерация;
- автоматическое наполнение каталога - условия фирм постоянно меняются, вести их руками невозможно;
- SEO как главный канал привлечения: тысячи страниц под органический трафик.

Стек зафиксировали так: фронтенд на Next.js (React.js, TypeScript, Tailwind), backend на Nest.js (Node.js, PostgreSQL, Redis), AI-скрейпер на Puppeteer + Claude API, инфраструктура в Docker за Nginx.

Решение

Собрал платформу из нескольких частей.

1. Публичный сайт - Next.js 15 на App Router, React.js 18, TypeScript, Tailwind v4, Radix/shadcn. Под SEO сделал SSR/SSG/ISR-рендеринг, динамический sitemap почти на 1900 URL, JSON-LD структурированные данные, управляемые мета-теги и контент под каждую страницу и ISR-кэширование для скорости. Данные - на TanStack Query, формы на React Hook Form + Zod, мультиязычность через next-intl, авторизация на NextAuth v5, графики на Recharts.

2. Backend - Nest.js 10 (Node.js) на TypeScript, TypeORM и PostgreSQL. Очереди и фоновые задачи на Redis + Bull, регулярные задачи через cron (@nestjs/schedule). Авторизация и роли - JWT + Passport с RBAC, валидация на class-validator, документация в Swagger, защита от перебора через Throttler. Картинки обрабатываю через Sharp, почта - Nodemailer, файлы лежат в S3/MinIO.

3. AI-скрейпер - отдельный модуль на Puppeteer со stealth-плагинами, для обхода Cloudflare использовал FlareSolverr. Обход идёт по sitemap фирм, плюс подтягиваю внешние рейтинги (TrustPilot, ForexPeaceArmy). Сами данные структурирует Claude API: Haiku категоризирует ссылки, Sonnet вытаскивает структурированные данные о фирме - так каталог наполняется автоматически.

Для управления сделал две админки на Vite + React.js (Radix/shadcn): основную - для фирм, отзывов, промокодов и наград, и отдельную SEO-панель - для мета-тегов, редиректов и контент-блоков по путям.

Инфраструктура - Docker + Docker Compose на Ubuntu VPS под Nginx. Развёл staging и production окружения, деплой через CI/CD по cron (сборка - рестарт). В контейнерах PostgreSQL, Redis и MinIO.

Результат

Получилась рабочая платформа, которая закрывает весь цикл - от автоматического сбора данных о фирмах до выбора челленджа трейдером.

Сайт построен под поиск: тысячи страниц со структурированными данными, быстрый рендеринг за счёт ISR, динамический sitemap почти на 1900 URL - всё, чтобы расти в органике. AI-скрейпер снимает ручную работу: каталог фирм и челленджей (около 400 страниц) наполняется и обновляется сам.

Многоролевая система позволяет работать всем сторонам сразу - трейдерам, владельцам фирм, партнёрам и команде модерации. Программа лояльности и отзывы с верификацией выплат держат аудиторию вовлечённой. Админка и SEO-панель дают полный контроль над контентом и мета-данными без участия разработчика.

Платформа развёрнута на проде, работает стабильно и готова масштабироваться по трафику и числу фирм.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Trenergy - SaaS для фитнес-тренеров: Telegram Mini App, бот и панель управления. Тренировки, питание с КБЖУ, прогресс, чаты, оплата | React.js, Nest.js, Node.js
Trenergy - SaaS для фитнес-тренеров: Telegram Mini App, бот и панель управления. Тренировки, питание с КБЖУ, прогресс, чаты, оплата | React.js, Nest.js, Node.js
50
Веб-разработка и IT CommerceAPI - SaaS-платформа для интернет-магазинов с динамическим ORM и no-code конструктором каталогов | Next.js, Nest.js, PostgreSQL, Redis
CommerceAPI - SaaS-платформа для интернет-магазинов с динамическим ORM и no-code конструктором каталогов | Next.js, Nest.js, PostgreSQL, Redis
105
Веб-разработка и IT Telegram Mini App для белорусского магазина цифровых товаров PlayStation: игры, подписки, донаты. Парсер PS Store, приём платежей, админ-панель | React.js, Nest.js, PostgreSQL
Telegram Mini App для белорусского магазина цифровых товаров PlayStation: игры, подписки, донаты. Парсер PS Store, приём платежей, админ-панель | React.js, Nest.js, PostgreSQL
324