Все проекты

Универсальный маркетплейс объявлений

Универсальная доска объявлений на том же движке — 10 категорий, поиск.

Vue 3webedge-dbListings
01

Задача

Универсальным объявлениям нельзя зашить один тип товара; нужна одна модель объявления, работающая по транспорту, недвижимости, работе, электронике и т.д.

02

Что делали

Из кода carsmarket/housemarket построен общий сайт объявлений с 10 категориями (транспорт, недвижимость, работа/услуги, компьютеры, оборудование, связь, развлечения, быт, одежда, детское), единые живые фильтры webedge-db со счётчиками категорий и фасетами, избранное и сохранённые поиски.

03

Результат

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

Dev-story статья

Универсальный маркетплейс объявлений: как создавался проект

У нас уже был движок, крутивший нишевые доски для автомобилей и недвижимости, каждую со своей схемой и живым поиском. Вопрос был в том, потянет ли тот же движок общий портал объявлений — десять несвязанных категорий, от транспорта до товаров для детей — не форкаясь в пятую кодовую базу. Напряжение: сохранить общую схему и реактивный поиск, но обобщить категории так, чтобы объявление о телефоне и объявление о квартире жили в одном фасетном индексе.

Разделы

05

Модули

05

Стек

Vue 3 + webedge-db

01

Почему появился проект

Универсальным объявлениям нельзя зашить один тип товара; нужна одна модель объявления, работающая по транспорту, недвижимости, работе, электронике и т.д.

У нас уже был движок, крутивший нишевые доски для автомобилей и недвижимости, каждую со своей схемой и живым поиском. Вопрос был в том, потянет ли тот же движок общий портал объявлений — десять несвязанных категорий, от транспорта до товаров для детей — не форкаясь в пятую кодовую базу. Напряжение: сохранить общую схему и реактивный поиск, но обобщить категории так, чтобы объявление о телефоне и объявление о квартире жили в одном фасетном индексе.

02

Что было создано

Из кода carsmarket/housemarket построен общий сайт объявлений с 10 категориями (транспорт, недвижимость, работа/услуги, компьютеры, оборудование, связь, развлечения, быт, одежда, детское), единые живые фильтры webedge-db со счётчиками категорий и фасетами, избранное и сохранённые поиски.

Одностраничный маркетплейс объявлений на Vue 3 + Vite с десятью верхнеуровневыми категориями, единым поиском, который живо считает количества по категориям и фасеты, и страницами объявлений с галереей фото, контактом продавца, отслеживанием раскрытия телефона и жалобами. У продавцов есть публичные профили и панель управления; есть админ-зона и инструменты фидов/импорта. Хостится статически, с SPA-оболочками маршрутов, чтобы каждый URL категории и объявления открывался ради SEO.

03

Основные модули и путь пользователя

M01

Единый поиск объявлений, связанный с реактивным бэкендом, который живо возвращает количества по категориям и фасеты, поэтому фильтрация никогда не требует перезагрузки страницы

M02

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

M03

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

M04

Поток детали объявления с галереей фото, формой контакта продавца, отслеживанием раскрытия телефона и жалобами на нарушения

M05

Миграция слоя реактивных запросов на TanStack Vue Query ради кэширования и дедупликации запросов по всему SPA

04

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

Сделано на 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-редиректом в качестве запасного варианта.

05

Результат и выводы

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

Доказательство, что один движок вертикальных маркетплейсов обобщается до широкого портала объявлений из десяти категорий без новой кодовой базы — та же схема, поиск и аутентификация, перенаправленные на обобщённые категории и статический хостинг.

Читать дальше

Эти проекты близки по техническим или продуктовым решениям и показывают, как тот же принцип работает в другом контексте.

Есть похожая идея?

Обсудить проект