Розробка доски об'явлень (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 або ЮКасса для еськроу-рахунку.
Терміни
MVP (розміщення об'яв, пошук, фільтри, фото, контакти): 6–8 тижнів. З мессенджером, геопошуком, модерацією, монетизацією: 3–5 місяців.







