Разработка доски объявлений (Classifieds)
Доска объявлений — платформа для размещения объявлений о продаже/покупке/аренде между частными лицами или компаниями. Ориентиры: Avito, OLX, Craigslist. Ключевые особенности: объявления размещает сам пользователь, сделка происходит вне платформы (или через встроенные платежи), платформа зарабатывает на продвижении.
Структура объявления
- Тип (продам / куплю / сдам / сниму / услуги)
- Заголовок, описание
- Категория + подкатегория
- Динамические атрибуты (по категории: для авто — марка/модель/год, для недвижимости — площадь/этаж)
- Цена (с типом: фиксированная, договорная, бесплатно)
- Фотографии (до N штук)
- Контактные данные (телефон, имя, опционально email)
- Локация (город / район / точка на карте)
- Срок активности (30 дней, затем архив)
Динамические атрибуты
Каждая категория имеет свои специфичные поля. Хранение:
CREATE TABLE category_attributes (
id, category_id, name, type ENUM('text', 'number', 'select', 'boolean'),
options JSONB, -- для select: список вариантов
required BOOLEAN, searchable BOOLEAN
);
CREATE TABLE listing_attributes (
listing_id, attribute_id,
value_text, value_number, value_boolean
);
При создании объявления форма строится динамически на основе атрибутов категории.
Геолокационный поиск
Ключевая функция: «объявления рядом со мной» или «объявления в Москве, Южное Бутово».
-- PostGIS: объявления в 10 км от точки
SELECT l.*, ST_Distance(l.location::geography, $1::geography) AS dist
FROM listings l
WHERE ST_DWithin(l.location::geography, $1::geography, 10000)
AND l.category_id = $2
AND l.status = 'active'
ORDER BY dist;
Встроенный мессенджер
Покупатель связывается с продавцом через внутренний чат (не телефон), чтобы не раскрывать контакты до готовности к сделке. Чат привязан к конкретному объявлению: «Ваше объявление "iPhone 14"». Реализация: WebSocket + PostgreSQL (сообщения) + Redis (presence).
Модерация объявлений
Два подхода:
- Pre-moderation — объявление видно только после проверки модератором. Задержка публикации, но меньше мусора.
- Post-moderation — объявление сразу видно, удаляется после жалобы. Быстрее, но риск мошенничества.
Автоматическая проверка: детектирование запрещённого контента (наркотики, оружие), спам-паттерны, дублирующиеся объявления (тот же title + телефон за последние 7 дней).
Монетизация
- Платное размещение: объявления в премиум-категориях (авто, недвижимость) — платные
- VIP-поднятие: объявление поднимается в топ списка на 24 часа
- Выделение: объявление отображается с цветовой рамкой или бейджем
- Турбо-пакеты: комплект из нескольких поднятий по сниженной цене
Безопасность сделок
Платформа может предоставлять «Безопасную сделку» (эскроу): покупатель платит платформе → продавец отправляет товар → покупатель подтверждает получение → деньги перечисляются продавцу. Stripe или ЮКасса для хранения средств на escrow-счёте.
Сроки
MVP (размещение объявлений, поиск, фильтры, фото, контакты): 6–8 недель. С мессенджером, геопоиском, модерацией, монетизацией: 3–5 месяцев.







