Перейти к содержимому
d.nikolaev
Все проекты
Личный проектПродукт

Агрегатор автообъявлений

Пет-проект целиком: парсеры, API, оценка выгодности, Telegram-бот и веб-интерфейс

Роль
Автор проекта: фронтенд, бэкенд, парсеры, инфраструктура
Период
апрель 2026 г. — июнь 2026 г.
Компания
Личные проекты
Материалы готовятся

Монорепозиторий, в котором я отвечаю за все слои: парсеры площадок объявлений, API, база, скоринг выгодности предложения, уведомления в Telegram и веб-интерфейс на Next.js.

Что сделано

  • Монорепозиторий из четырёх приложений и трёх общих пакетов
  • Парсеры площадок на Playwright: устойчивость к изменению разметки и защите от ботов
  • Скоринг выгодности: сравнение предложения с историей похожих объявлений
  • Telegram-бот: сохранённые поиски и уведомления о новых подходящих объявлениях
  • Веб-интерфейс на Next.js App Router с серверными запросами к своему API
  • Схема базы и типы в общем пакете: одна модель данных на все приложения

Контекст

Зачем

Хотелось решить свою задачу — искать выгодные объявления о продаже машин, не просматривая площадки вручную, — и одновременно попробовать полный стек без разделения на «мою» и «чужую» часть.

В рабочих проектах я отвечаю за фронтенд, поэтому здесь специально взял и бэкенд, и парсеры, и инфраструктуру.

Решение

Как устроено

Парсеры живут отдельным пакетом и запускаются воркером по расписанию. Каждая площадка описана своим адаптером с общим контрактом, поэтому добавление новой не затрагивает остальные.

Собранные объявления складываются в базу через общий слой доступа. Скоринг сравнивает цену конкретного объявления с историей похожих по модели, году и пробегу — так «выгодное» становится числом, а не ощущением.

Веб-интерфейс собран на App Router и запрашивает данные на сервере, а Telegram-бот работает по сохранённым поискам и присылает только новые совпадения.

Результаты

  • 4 приложенияAPI, воркер, бот и веб в одном репозитории
  • 3 площадкиподключены адаптерами парсинга
  • весь стекот парсера до деплоя

Интерфейс

Скриншоты этого проекта пока не опубликованы.

Связанные проекты