Розробка дошки оголошень (Classifieds)
Припустимо, ви запускаєте класифайд для продажу вживаних авто. За місяць ви виявляєте: пошук за маркою та моделлю не фільтрує детально (немає року випуску, пробігу), модератори вручну перевіряють кожне оголошення, а покупці скаржаться, що не бачать оголошень поруч із собою. Знайома ситуація? Ми будуємо класифайди, в яких геопошук працює за мілісекунди, модерація відсікає 90% сміття автоматично, а монетизація окупає розробку за пів року. Наші замовники — від нішевих барахолок до федеральних дошок оголошень із мільйонами лістингів. Розробка дошки оголошень — комплексне завдання, що потребує збалансованих рішень. У цій статті розберемо, як побудувати класифайд, який не гальмує при мільйоні оголошень, модерується сам і приносить прибуток. Розглянемо ключові технічні рішення: динамічні атрибути, геопошук, месенджер, модерацію та ескроу.
Що важливо при розробці дошки оголошень?
Почнемо з архітектури. Кожне оголошення містить мінімум: тип угоди, заголовок, опис, категорію, ціну, фото, контакти, локацію та термін активності. Але головна фішка — динамічні атрибути. Для авто — марка, модель, рік; для нерухомості — площа, поверх, матеріал стін. Атрибути зберігаються гнучко:
CREATE TABLE category_attributes ( id INT PRIMARY KEY, category_id INT, name VARCHAR(255), type ENUM('text','number','select','boolean'), options JSONB, required BOOLEAN, searchable BOOLEAN ); CREATE TABLE listing_attributes ( listing_id INT, attribute_id INT, value_text TEXT, value_number NUMERIC, value_boolean BOOLEAN ); Форма оголошення будується динамічно — підвантаження атрибутів категорії через AJAX. Користувач заповнює лише релевантні поля, що підвищує конверсію.
Чому геолокаційний пошук — ключова фіча?
«Оголошення поруч зі мною» — головний сценарій на дошках оголошень. Реалізуємо через PostGIS із просторовим індексом:
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; Для прискорення додаємо кеш Redis на популярні запити. Типовий час відповіді — <50 мс на 100 000 оголошень. Геопошук на PostGIS дає приріст швидкості в 10 разів порівняно зі звичайним LIKE-пошуком за координатами. Це особливо важливо для дошок оголошень у сфері нерухомості та авто.
Як ми організовуємо спілкування: вбудований месенджер?
Покупець пише продавцю прямо в оголошенні — контакти приховані до готовності до угоди. Чат привʼязаний до лістингу (наприклад, «Ваше оголошення "iPhone 14"»). Стек: WebSocket (Laravel Reverb) + PostgreSQL для історії + Redis для статусів «онлайн». Повідомлення зберігаються в партиціонованій таблиці — не гальмує при зростанні.
Як обрати модерацію: pre vs post?
| Критерій | Pre-moderation | Post-moderation |
|---|---|---|
| Час публікації | Від годин до доби | Миттєво |
| Якість | Висока | Низька без автоматики |
| Ризик шахрайства | Низький | Високий |
| Навантаження на модераторів | Постійне | За скаргами |
Ми комбінуємо: pre-moderation для дорогих категорій (авто, нерухомість), post-moderation — для дешевих. Автоматика детектує дублі (однаковий title + телефон за 7 днів), спам-патерни та заборонені товари через ML-модель. Автоматична модерація знижує навантаження на операторів до 70%, що економить до 60% бюджету на модерацію.
Що входить у роботу
- Аналітика: аудит конкурентів, прототип, user flow.
- Дизайн: адаптивний UI під ключ, 5 екранів.
- Фронтенд: React/Next.js або Vue/Nuxt (вибір за вами).
- Бекенд: Laravel або Node.js, адмін-панель.
- Модерація: автоматичний фільтр + кабінет модератора.
- Монетизація: платіжний шлюз, пакети просування.
- Документація: API (OpenAPI), інструкція адміністратора.
- Навчання: 2 години для команди замовника.
- Гарантія: 6 місяців безкоштовних виправлень багів.
Процес роботи
- Аналітика та прототип (1-2 тижні). Визначаємо MVP, малюємо User Story Mapping.
- Проектування архітектури (1 тиждень). ER-модель, API-специфікація.
- Реалізація (6-20 тижнів). Ітерації по 2 тижні, кожен спринт — демо.
- Тестування (2 тижні). Навантажувальні тести (k6), e2e (Cypress), безпека.
- Деплой та запуск (1 тиждень). CI/CD, моніторинг (Sentry, Grafana).
Строки орієнтовно
| Етап | Строк |
|---|---|
| MVP (розміщення, пошук, фільтри, фото, контакти) | 6-8 тижнів |
| + месенджер + геопошук | +4-6 тижнів |
| + модерація + монетизація | +4-6 тижнів |
| Повний функціонал із escrow-угодами | 5-6 місяців |
Вартість розраховується індивідуально після брифінгу. Замовте консультацію — ми оцінимо ваш проєкт за 1-2 дні.
Безпека угод: ескроу-рахунок
Для дорогих категорій (авто, техніка) впроваджуємо «Безпечну угоду»: покупець платить на ескроу-рахунок платформи, продавець відправляє товар, після підтвердження отримання гроші перераховуються. Інтеграція з ЮKassa або Stripe; кошти зберігаються на окремому рахунку, не змішуючись з оборотами.
Технології, які ми використовуємо
PostGIS, Laravel, Vue, Nuxt, Redis, Docker, Nginx, WebSockets. Всі версії актуальні на момент розробки.Наші інженери мають досвід у класифайдах — 20+ запущених проєктів. Працюємо під ключ з гарантією результату. Отримайте безкоштовну консультацію з розробки дошки оголошень прямо зараз.







