Маркетинг, дизайн, реклама
Порталы и сервисы
Сентябрь 2026
Клиент: БОРТ Пресс — B2B-платформа рекламного рынка, биржа обмена рекламным трафиком. На ней рекламные площадки, рекламодатели и агентства находят друг друга и договариваются напрямую: за деньги, по бартеру или обменом трафиком. Платформа охватывает семь форматов рекламы: внутреннюю, интернет, радио, ТВ, наружную, печатную и выставки.
Ситуация: у клиента уже был основной сайт bort.press, а требования к платформе пришли из нескольких документов. Исходный бриф описывал карту России с зонами охвата, слоями площадок и заявок, фильтрами, профилями и проверкой публикаций администратором. Релизное техническое задание добавило блог, FAQ, базу знаний, схему работы и новые тексты главной. По ходу работы появились промокоды, поиск компании по ИНН и помощник по справке. Платежи, общая авторизация с основным сайтом и окончательные юридические тексты зависели от решений заказчика.
Задача: спроектировать и собрать тестовую версию платформы на отдельном домене — от карты на главной до публикации объявления, модерации и контента. Участник должен пройти весь путь от регистрации до появления своего объявления в каталоге и на карте. Администратор должен сам проверять публикации и вести блог, базу знаний и FAQ. Карту рекламных возможностей нужно было сделать встраиваемой на сайт заказчика.
Платформу мы строили вокруг трёх ролей участников. Площадки показывают свободные рекламные слоты и находят покупателей без посредников. Рекламодатели сравнивают форматы, города и условия и публикуют заявки на размещение. Агентства держат ассортимент площадок в одном месте и закрывают задачи своих клиентов. Роль выбирают при регистрации, она закреплена в профиле компании.
Каталог объединяет два типа записей — предложения площадок и заявки рекламодателей. У каждой записи есть формат рекламы, города, стоимость или бюджет, срок и форма сделки: деньги, бартер или обмен трафиком.
Интерфейс опирается на фирменный синий #4169E1 из презентации заказчика и светлые поверхности. Для кнопок и действий — #185FE2, для текста — #243951. Шрифт — Golos Text: кириллица и латиница в одном семействе, открытая лицензия OFL.
У карты своя палитра: синие #8CAEE4, бирюзовые #80BCB2 и коралловые #DCA28B соты. Фотоиллюстрации медиаформатов мы сделали для этой версии, они не изображают реальные площадки каталога.
Первый экран — схема России из 290 шестиугольных ячеек. При наведении на город его регион подсвечивается волной от центра, а рядом появляется превью объявлений из этого города. Превью настроены для восьми городов, из превью — один шаг до каталога. Геометрия схемы построена по открытым данным Natural Earth, расположение ячеек схематичное.
Семь фильтров сужают выбор: формат, город, оплата, бюджет, срок, «горячие» предложения и название. Фильтры работают вместе, есть сортировка, а любая подборка открывается по прямой ссылке.
Карточка площадки сразу показывает стоимость, формы оплаты и города размещения, карточка заявки — бюджет и форму сделки. Одно объявление может охватывать несколько городов и форматов. Стартовые объявления помечены как примеры: у них нет контактов, и написать по ним нельзя.

Площадки и заявки можно искать на географической карте с теми же фильтрами, что и в каталоге. Карта работает на Яндекс Картах с кластерами, когда подключён ключ, и на OpenStreetMap как на запасном источнике. Мини-карта есть и в карточке объявления, радиусы охвата на ней помечены как условные.
Отдельный виджет встраивает карту рекламных возможностей на сайт заказчика и открывается только на разрешённых доменах.

Регистрация, вход и сохранение сессии; профиль компании с поиском реквизитов по ИНН через DaData, а без ключа — с ручным заполнением.
Свои объявления со статусами: черновик, проверка администратором, исправление, публикация и архив. Правка опубликованного объявления снова отправляет его на проверку.
Закрытые диалоги между участниками: переписку видят только двое её участников, администратор чужие сообщения не открывает.
Избранное — сохранённые предложения.
Промокоды, которые выдают сертификаты: у кода есть срок и общий лимит, один участник применяет его один раз, история хранится в кабинете.
Контакты владельца объявления видны только участникам, которые вошли в систему.

Администратор модерирует объявления, ведёт блог, базу знаний и FAQ во встроенном редакторе, создаёт промокоды и разбирает обращения из формы обратной связи во внутреннем ящике. Там же видны сводные показатели и состояние подключений: карт, DaData, почты и платежей.
Для участников мы подготовили разделы «О сервисе», схему работы, условия участия, блог и FAQ; база знаний открывается после входа. Помощник на сайте отвечает на вопросы по справке сервиса: это поиск по FAQ и базе знаний, без генеративной модели. Юридические страницы подготовлены как проекты для утверждения заказчиком.

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

Фронтенд — React и TypeScript на сборщике Vite, стили на Tailwind CSS. Карты подключены через JavaScript API Яндекс Карт и Leaflet с OpenStreetMap.
API написан на Python без сторонних пакетов и хранит данные в SQLite вне веб-каталога. Nginx отдаёт фронтенд и проксирует запросы /api к серверу. Пароли хранятся в виде хэшей PBKDF2, сессия — в HttpOnly-cookie, изменяющие запросы принимаются только с разрешённых адресов, у запросов есть лимит частоты. Ключи DaData и Яндекс Карт задаются в окружении сервера. Учётная запись администратора создаётся отдельной командой на сервере, стандартного пароля нет. API и скрипты выкладки покрыты автотестами.
Заказчик получил тестовую версию платформы на отдельном домене. Участники регистрируются в одной из трёх ролей, публикуют объявления, проходят модерацию и переписываются внутри сервиса, а администратор сам ведёт контент.
Следующие шаги — подключение к основному сайту bort.press, приём платежей и утверждение контента заказчиком. Платежи, рассылки и общая авторизация с основным сайтом в тестовой версии не подключены и не имитируются.
Тестовую версию платформы на отдельном домене
Главную с картой России из 290 сот и превью объявлений для 8 городов
Каталог площадок и заявок с 7 фильтрами, сортировкой и прямыми ссылками на подборки
Географическую карту и виджет для встраивания на разрешённые сайты
Кабинеты трёх ролей: профиль компании, объявления, избранное, диалоги и сертификаты
Модерацию объявлений и редактор блога, базы знаний и FAQ
Мобильную версию главной, каталога и карточек
![]()
Nikita Tarasov
Главная сложность — требования пришли из брифа, релизного ТЗ и пожеланий по ходу работы, а часть из них зависела от решений заказчика: платежи, общая авторизация с основным сайтом, юридические тексты. Мы собрали рабочий путь участника на собственном API — от регистрации до опубликованного объявления на карте. Всё, что ждёт решений клиента, вынесли в отдельные подключения и не стали имитировать.
![]()
Яков Ильин
ООО «БОРТ ПРЕСС»
Разработали сайт и приложение, которыми пользуются каждый день — принимать и вести заказы стало заметно быстрее.