Универсальный маркетплейс объявлений
Универсальная доска объявлений на том же движке — 10 категорий, поиск.
Универсальный маркетплейс объявлений
Задача
Универсальным объявлениям нельзя зашить один тип товара; нужна одна модель объявления, работающая по транспорту, недвижимости, работе, электронике и т.д.
Что делали
Из кода carsmarket/housemarket построен общий сайт объявлений с 10 категориями (транспорт, недвижимость, работа/услуги, компьютеры, оборудование, связь, развлечения, быт, одежда, детское), единые живые фильтры webedge-db со счётчиками категорий и фасетами, избранное и сохранённые поиски.
Результат
Движок маркетплейса, растянутый до самого широкого случая — одна модель поиска и объявлений на все категории вместо отдельной сборки под каждую вертикаль.
Dev-story статья
Универсальный маркетплейс объявлений: как создавался проект
У нас уже был движок, крутивший нишевые доски для автомобилей и недвижимости, каждую со своей схемой и живым поиском. Вопрос был в том, потянет ли тот же движок общий портал объявлений — десять несвязанных категорий, от транспорта до товаров для детей — не форкаясь в пятую кодовую базу. Напряжение: сохранить общую схему и реактивный поиск, но обобщить категории так, чтобы объявление о телефоне и объявление о квартире жили в одном фасетном индексе.
Разделы
05
Модули
05
Стек
Vue 3 + webedge-db
Почему появился проект
Универсальным объявлениям нельзя зашить один тип товара; нужна одна модель объявления, работающая по транспорту, недвижимости, работе, электронике и т.д.
У нас уже был движок, крутивший нишевые доски для автомобилей и недвижимости, каждую со своей схемой и живым поиском. Вопрос был в том, потянет ли тот же движок общий портал объявлений — десять несвязанных категорий, от транспорта до товаров для детей — не форкаясь в пятую кодовую базу. Напряжение: сохранить общую схему и реактивный поиск, но обобщить категории так, чтобы объявление о телефоне и объявление о квартире жили в одном фасетном индексе.
Что было создано
Из кода carsmarket/housemarket построен общий сайт объявлений с 10 категориями (транспорт, недвижимость, работа/услуги, компьютеры, оборудование, связь, развлечения, быт, одежда, детское), единые живые фильтры webedge-db со счётчиками категорий и фасетами, избранное и сохранённые поиски.
Одностраничный маркетплейс объявлений на Vue 3 + Vite с десятью верхнеуровневыми категориями, единым поиском, который живо считает количества по категориям и фасеты, и страницами объявлений с галереей фото, контактом продавца, отслеживанием раскрытия телефона и жалобами. У продавцов есть публичные профили и панель управления; есть админ-зона и инструменты фидов/импорта. Хостится статически, с SPA-оболочками маршрутов, чтобы каждый URL категории и объявления открывался ради SEO.
Основные модули и путь пользователя
Единый поиск объявлений, связанный с реактивным бэкендом, который живо возвращает количества по категориям и фасеты, поэтому фильтрация никогда не требует перезагрузки страницы
Десять обобщённых категорий, переиспользующих ту же схему, что уже крутит доски авто и недвижимости, вместо отдельной модели под каждую вертикаль
Избранное и сохранённые поиски, хранимые для каждого пользователя, чтобы покупатель мог позже заново запустить фасетный запрос
Поток детали объявления с галереей фото, формой контакта продавца, отслеживанием раскрытия телефона и жалобами на нарушения
Миграция слоя реактивных запросов на TanStack Vue Query ради кэширования и дедупликации запросов по всему SPA
Архитектура и технологические решения
Сделано на Vue 3, webedge-db, Listings.
Vue 3 + Vite SPA с Tailwind v4 и @unhead/vue для title/meta/canonical/JSON-LD; база данных, запросы реального времени, поиск и файловое хранилище работают на нашем самостоятельно размещённом реактивном бэкенде с BetterAuth, а слой данных позже перенесён на TanStack Vue Query. Поставляется как статическая сборка Cloudflare Pages с SPA-редиректом в качестве запасного варианта.
Результат и выводы
Движок маркетплейса, растянутый до самого широкого случая — одна модель поиска и объявлений на все категории вместо отдельной сборки под каждую вертикаль.
Доказательство, что один движок вертикальных маркетплейсов обобщается до широкого портала объявлений из десяти категорий без новой кодовой базы — та же схема, поиск и аутентификация, перенаправленные на обобщённые категории и статический хостинг.
Связанные статьи
Читать дальше
Связанные истории проектов
Эти проекты близки по техническим или продуктовым решениям и показывают, как тот же принцип работает в другом контексте.
Dev-storyМаркетплейс автомобилей
Маркетплейс авто — Vue 3 SPA с realtime-поиском, внешними аукционными источниками и алертами о снижении цены.
Dev-storyМаркетплейс и радар недвижимости
Движок авто, перенацеленный на недвижимость, с радаром объявлений.
Dev-storyМаркетплейс услуг
Тот же webedge-db-движок для услуг — профили, заявки, отзывы.
Есть похожая идея?
Обсудить проект