RUNNIWEB

Разработка маркетплейса услуг на Laravel 11: архитектура проекта Эксперт.База

Разработка современного маркетплейса требует продуманной архитектуры, защиты от спама и удобных инструментов управления. В этом кейсе показываем, как мы строим Эксперт.База — локальный маркетплейс услуг на Laravel 11 с админкой Filament.

Техническое задание и вызовы проекта

Клиент обратился с задачей создать маркетплейс для локального сообщества. Основные требования:

  • Защита от спама и накруток на уровне архитектуры
  • Геолокация с точностью до района города
  • Модерация контента с удобной админкой
  • Встроенный чат между пользователями
  • Система премиум-размещений и рекламных блоков
  • API для будущего мобильного приложения

Выбор технологического стека был обусловлен требованиями к скорости разработки и масштабируемости.

Архитектура решения на Laravel 11

🏗️

Backend: Laravel 11 + PostgreSQL

Новейшая версия Laravel обеспечивает высокую производительность. PostgreSQL выбрана для работы с геоданными через PostGIS. Структура проекта следует принципам DDD для лёгкой масштабируемости.

Админка: Filament 3

Мощная админ-панель из коробки. Настроили ресурсы для управления объявлениями, пользователями, модерацией. Кастомные виджеты для статистики и мониторинга.

🔐

API: Laravel Sanctum

Готовая структура для мобильного приложения. RESTful API с версионированием, документация через Swagger.

Реализованный функционал

Система защиты от спама

Многоуровневая защита, встроенная в архитектуру проекта:

  • reCAPTCHA v3 на критичных формах
  • Email-верификация с ограничением времени действия токена
  • Rate limiting — максимум 3 объявления в день с IP
  • Модерация первого объявления для новых пользователей
  • Автоматическая фильтрация по стоп-словам

Геолокация и поиск

Реализована интеграция с PostGIS для точного поиска:

Автоопределение

IP-геолокация + запрос разрешения на точные координаты

Поиск по радиусу

Настраиваемый радиус поиска от 1 до 50 км

Районы города

Привязка объявлений к конкретным районам

Панель управления на Filament

Администраторы и модераторы получили мощный инструмент:

  • Модерация объявлений — очередь на проверку, быстрые действия, шаблоны отказов
  • Управление пользователями — блокировки, предупреждения, история нарушений
  • Статистика в реальном времени — активность, конверсии, популярные категории
  • Гибкие настройки — лимиты публикаций, стоп-слова, правила модерации
  • Массовые действия — работа с группами объявлений и пользователей

Дополнительные модули проекта

Встроенный чат

Реализован на Laravel Broadcasting + Pusher для real-time общения:

💬

История переписок

Все сообщения сохраняются, доступны для модерации при жалобах

🔔

Push-уведомления

Мгновенные уведомления о новых сообщениях

📱

Адаптивный интерфейс

Полноценный чат работает на всех устройствах

Система премиум-функций

Гибкая система монетизации без агрессивных ограничений:

  • VIP-объявления — выделение цветом и приоритет в выдаче
  • Поднятие в топ — разовая услуга для срочных объявлений
  • Расширенная статистика — для премиум-аккаунтов
  • Рекламные блоки — нативная реклама между объявлениями

Технологии и инструменты

Backend

Laravel 11, PostgreSQL, Redis, Pusher

Frontend

Blade, Alpine.js, Tailwind CSS

Инфраструктура

Docker, Nginx, Supervisor, Horizon

Текущий статус проекта

На данный момент реализован основной функционал маркетплейса:

  • ✅ Регистрация и авторизация с защитой от спама
  • ✅ Публикация и управление объявлениями
  • ✅ Поиск с геолокацией
  • ✅ Система модерации
  • ✅ Встроенный чат
  • ✅ Админ-панель на Filament
  • ✅ API для мобильного приложения
  • 🔄 Интеграция с платёжными системами
  • 🔄 Расширенная аналитика

Нужна разработка маркетплейса или похожего проекта?

Мы специализируемся на создании сложных веб-приложений на Laravel. От проектирования архитектуры до запуска и поддержки.

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

Этапы Разработки Сайтов

  1. Сбор Требований и Анализ

    • Определение целей и задач проекта
    • Анализ целевой аудитории и конкурентов
    • Составление технического задания (ТЗ)
  2. Планирование

    • Разработка структуры сайта (сайтмап)
    • Создание прототипов страниц
    • Определение сроков и ресурсов
  3. Дизайн

    • Разработка концепции дизайна
    • Создание макетов страниц (UI/UX дизайн)
    • Согласование дизайна с клиентом
  4. Разработка

    • Верстка страниц (HTML/CSS)
    • Программирование и интеграция (Frontend и Backend)
    • Подключение систем управления контентом (CMS)
  5. Тестирование

    • Функциональное тестирование
    • Тестирование на кроссбраузерность и адаптивность
    • Устранение багов и ошибок
  6. Запуск

    • Перенос сайта на хостинг
    • Настройка домена и SSL-сертификата
    • Финальное тестирование
  7. Поддержка и Обслуживание

    • Мониторинг работы сайта
    • Обновление контента и функционала
    • Техническая поддержка и устранение проблем

Разница между CMS, фреймворком и самописным сайтом заключается в подходе к разработке, уровне гибкости и сложности реализации. Давайте рассмотрим каждую из этих категорий подробнее.

Разработка на cms – от 50 000 руб.
Разработка на фреймворк – от 150 000 руб.
Самописный сайт – от 300 000 руб.

1. CMS (Content Management System) — Система управления контентом

Примеры: WordPress, Joomla, Drupal

Описание: CMS — это готовое программное обеспечение, предназначенное для создания и управления веб-сайтами. CMS обычно включает в себя административный интерфейс, позволяющий пользователям добавлять, редактировать и удалять контент без необходимости знаний программирования.

  • Быстрая установка и настройка: Большинство CMS имеют простые установочные процедуры и предлагают множество готовых тем и плагинов.
  • Легкость использования: CMS имеют удобные интерфейсы для управления контентом.
  • Расширяемость: Большое количество доступных плагинов и расширений.

2. Фреймворк

Примеры: Laravel (PHP), Django (Python), Ruby on Rails (Ruby), Express.js (Node.js)

Описание: Фреймворк — это набор инструментов и библиотек для разработки веб-приложений. Он предоставляет структуру и основные функции, такие как маршрутизация, аутентификация и работа с базами данных, но требует от разработчика написания значительной части кода.

  • Гибкость: Позволяет создавать уникальные и сложные решения.
  • Качество кода: Фреймворки обычно способствуют написанию чистого и поддерживаемого кода.
  • Производительность: Хорошо оптимизированные фреймворки могут обеспечивать высокую производительность.

3. Самописный сайт (Custom-built website)

Описание: Самописный сайт создается с нуля, без использования готовых CMS или фреймворков. Это означает, что разработчик пишет весь код самостоятельно, включая все функции и интерфейсы.

  • Максимальная гибкость: Полный контроль над каждым аспектом сайта.
  • Производительность: Оптимизированный код может обеспечить высокую производительность.
  • Безопасность: Меньше шансов стать мишенью для хакеров, так как код уникален.

Заключение

  • CMS подходит для быстрого запуска и управления контентом, особенно для небольших и средних сайтов.
  • Фреймворк идеален для создания сложных, масштабируемых и уникальных веб-сайтов.
  • Самописный сайт рекомендуется для проектов, требующих максимальной гибкости и контроля, но требует значительных ресурсов и времени на разработку.

Выбор между этими подходами зависит от конкретных требований проекта, бюджета и временных рамок.

Одностраничный сайт, цель которого – побудить посетителя к определенному действию: покупке товара, подписке на новости, регистрации на мероприятие и т.д.

Лендинги эффективны для рекламных кампаний и маркетинговых акций.

Сложный сайт с каталогом товаров, корзиной покупок и системой управления заказами. Он позволяет пользователям выбирать и покупать товары или услуги онлайн.

 

Интернет-магазин – это основа для электронной коммерции.

Небольшой сайт, содержащий основную информацию о компании, человеке или мероприятии. Он включает контактные данные, описание услуг и может содержать портфолио.

Сайт-визитка подходит для небольших компаний и частных специалистов.

Многостраничный ресурс, отражающий полную информацию о компании, ее миссии, услугах, продукции, партнерах и карьерных возможностях.

Такой сайт создается для укрепления имиджа компании и взаимодействия с клиентами, партнерами и сотрудниками.

Сайт, предоставляющий большой объем контента по определенной тематике. Это могут быть новостные порталы, энциклопедии, форумы и т.д.

Они служат источником информации для большой аудитории.

Сайт или раздел сайта, содержащий регулярно обновляемые статьи, видео и фотографии.

Блоги используются для ведения личного дневника, маркетинга, образовательных целей или как платформа для обмена мнениями.

Платформа для общения и взаимодействия пользователей. Социальные сети позволяют создавать личные профили, делиться контентом и общаться с друзьями или коллегами.

Ресурс, предназначенный для обучения и развития. Это могут быть онлайн-курсы, образовательные платформы или сайты учебных заведений.

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

Портфолио часто применяется дизайнерами, фотографами, архитекторами и другими специалистами, чья работа требует визуальной демонстрации.

Это онлайн-платформа для обсуждения и обмена мнениями между пользователями. Форумы могут быть как частью большого сайта, так и самостоятельными проектами.

Они идеально подходят для создания сообществ вокруг определенных интересов и активной поддержки пользователей.

Специальный сайт, созданный для конкретной рекламной акции, события или запуска нового продукта.

Основная цель промо-сайта – информировать аудиторию и стимулировать интерес к определенному предложению или мероприятию.

Сайты, которые предлагают онлайн-сервисы или функциональность веб-приложений.

Это могут быть инструменты для редактирования фотографий, онлайн-календари, системы управления проектами и многое другое.

Специализированный ресурс для публикации новостей, статей, аналитики и интервью.

Он направлен на оперативное информирование читателей о событиях в мире, стране или определенной отрасли.

  1. Консультация и анализ – Мы проводим тщательный анализ ваших потребностей и целей, чтобы предложить наилучшую стратегию разработки сайта.
  2. Проектирование и дизайн – Создание уникального дизайна, который будет отражать ваш бренд и привлекать целевую аудиторию. Мы разрабатываем удобные интерфейсы, ориентированные на пользователя.
  3. Верстка и программирование – Превращение дизайн-макетов в работающий сайт с использованием современных технологий HTML, CSS, JavaScript и различных CMS или фреймворков.
  4. Адаптивный дизайн – Все наши сайты создаются с учетом адаптивности, чтобы они идеально отображались на всех типах устройств, от мобильных телефонов до настольных компьютеров.
  5. SEO-оптимизация – Оптимизация сайта для поисковых систем, чтобы увеличить его видимость и привлечь больше органического трафика.
  6. Интеграция с социальными сетями – Подключение сайта к социальным сетям для улучшения взаимодействия с аудиторией и расширения онлайн-присутствия.
  7. Тестирование и QA – Проверка сайта на ошибки и баги перед запуском, чтобы обеспечить его стабильную и безопасную работу.
  8. Запуск и поддержка – Полноценный запуск сайта с последующей технической поддержкой и обновлениями.
  9. Разработка индивидуальных функций – Создание специфических функциональных возможностей по индивидуальному заказу, включая интерактивные элементы, онлайн-чаты, формы заказа и многое другое.
  10. Обучение клиентов – Обучение вашей команды управлению контентом сайта, чтобы вы могли самостоятельно обновлять информацию и поддерживать его актуальность.
  11. Аналитика и оптимизация – Настройка инструментов веб-аналитики для отслеживания поведения посетителей и оптимизация сайта для улучшения показателей конверсии.
  12. E-commerce решения –разработка привлекательных и удобных интернет-магазинов с интуитивно понятным интерфейсом и продуманными системами управления товарами и заказами. Настройка интернет-магазинов, включая интеграцию с системами онлайн-оплаты, управление товарами, корзиной покупок и системами учета заказов.
  13. Мобильная оптимизация – Особое внимание уделяется мобильной версии сайта, чтобы обеспечить быструю и удобную работу на смартфонах и планшетах, что крайне важно в эпоху мобильного интернета.