Фотобанк «Комсомольской правды»

Сервис

Фотобанк «Комсомольской правды»
клиент
АО Издательский дом «Комсомольская правда»
что сделали
Аналитика, проектирование, UI/UX дизайн, frontend, backend-разработка, миграция данных, devops, тестирование
дата запуска
апрель 2024
kpmedia.ru
О заказчике

Медиагруппа «Комсомольская правда» — бренд с великой историей, традиционными ценностями, высоким доверием читателей, слушателей и партнеров, многомиллионной аудиторией, последовательной стратегией развития и успешной цифровой трансформацией.

«Комсомольская правда» — это самая тиражная ежедневная общественно-политическая газета России, еженедельная газета для всей семьи, федеральная радиостанция, а также сайты с рекордной посещаемостью и лидирующими позициями по цитируемости. А ещё это издательство книг и сеть пресс-центров по всей стране.

  • 98+ лет
    возраст издательства «Комсомольская Правда»
  • 5 млн
    количество фотогорафий в архиве
Цель

Разработать онлайн-версию банка фотографий «Комсомольской правды» с возможностью поиска по метаданным и продажи их СМИ-партнёрам, редакциям и другим заинтересованным лицам.

задачи
  1. Перенести все материалы в новое хранилище, которое будет легко масштабироваться, не зависеть от «железа» и обеспечит стабильное и надёжное хранение данных.
  2. Разработать для сотрудников и редакторов Издательства новое ПО для загрузки, обработки и поиска изображений, обеспечить их удобным онлайн-инструментом для работы.
  3. Спроектировать и реализовать публичный сервис для физических и юридических лиц с возможность поиска и покупки фотоматериалов издательства.
Главная страница
Главная страница
Проблематика

На момент старта проекта архив фотоматериалов «Комсомольской правды» состоял из более чем 5 млн фотографий. Изображения хранились на старом физическом сервере в инфраструктуре заказчика. Работа с ним осуществлялась через специальное прикладное ПО в локальной сети.

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

Кроме технических проблем с сервером были большие сложности с продажей фотографий. В издательство регулярно поступают запросы от других СМИ на покупку фотографий с разных событий и мероприятий.

Текущее ПО не предоставляло возможности массовой выгрузки изображений, а возможности для поиска фото были крайне ограничены. Чтобы найти, выбрать нужные фото и выгрузить их с сервера, сотрудники Издательства тратили много сил и времени.

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

Неудачный эксперимент

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

Мобильная версия главной страницы
Мобильная версия главной страницы
Пользователи сервиса

Исходя из целей и задач проекта, выделили 2 основные группы пользователей сервиса:

  • сотрудники и редакторы Издательства, ответственные за работу с архивом материалов
  • покупатели фотоматериалов

Мы прописали функциональные требования для этих ролей. Для удобства и наглядности представили их в формате карты пользовательских сценариев — User Story Map.

Карта пользовательских сценариев
Карта пользовательских сценариев
Описание сервиса для сотрудников Издательства

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

  • Реализовали сервис как онлайн-инструмент взамен старому десктопному ПО.
  • Выбрали Yandex.Cloud, чтобы все действия с изображениями происходили не на ядре сервиса, а в инфраструктуре и на вычислительных мощностях Яндекса. Таким образом, загрузка и обработка фотографий не нагружает публичный сервис и никак не отражается на взаимодействии пользователя с сервисом.
  • Учитывая специфику обработки данных фотобанка, мы создали отдельные экраны для массового добавления и редактирования изображений в виде плиточной раскладки.
  • При загрузке изображений в БД реализовали чтение и запись метаданных трёх типов: IPTC, EXIF, XMP.
  • Для продажи фотографий автоматически формируется три типа разрешений: low, middle, high, и наносится watermark.
  • Как объектное хранилище выбрали Yandex S3, а также реализовали отдельный микросервис для обработки фото, чтения и записи метаданных c помощью Exiv2.
Проблема

Метатеги у разных фото хранились в разной кодировке. За 20 лет существования фотобанка мы увидели настоящих «динозавров», о которых сейчас мало кто вспомнит. C помощью различных методов мы определяли кодировку, делали мини-эвристику в рамках экспорта, импорта и редактирования, чтобы материалы корректно читались и записывались.

Загрузка изображений и редактирование метаданных (было)
Загрузка изображений и редактирование метаданных (было)
Загрузка изображений и редактирование метаданных (стало)
Загрузка изображений и редактирование метаданных (стало)
Описание сервиса для покупателей материалов

Основными покупателями материалов Издательства являются другие СМИ. Они покупают авторские фото, чтобы использовать их в своих материалах. Вся работа была построена в ручном режиме: менеджер покупателя обращался к менеджеру «Комсомольской правды», делал запрос на фото, ждал выборку, выбирал фото к покупке, получал счёт на оплату и после оплаты получал материалы.

Это была долгая и архаичная процедура, которая требовала автоматизации.

В итоге мы реализовали сервис, который позволяет:

  • выбрать фото из каталога фотографий с помощью быстрого поиска по метаданным, фильтрам по дате, присутствию людей на фото, ориентации фото и автору.
  • искать похожие фото и фото, сгруппированные по материалам съёмки
  • формировать свои коллекции из выбранных фото
  • делиться коллекциями с другими людьми
  • получить ограниченный доступ к загрузке материалов в течение 14 дней после регистрации
  • покупать фотографии в соответствии с тарифами сервиса. Для юридических лиц с оплатой по договору, реализована возможность постоплаты по факту приобретённых изображений
Покупка
Покупка
Особенности поиска и фильтра по фотографиям
  • установили и настроили полнотекстовый поисковый движок Elasticsearch
  • оптимизировали поисковые индексы для уменьшения размера базы и более быстрой отдачи данных из кластера Elasticsearch
  • внедрили и настроили работу морфологического поиска
  • реализовали подсказки через N-gram tokenizer от 2 до 12 символов, что помогло пользователям при вводе совершать меньше ошибок, а сервису — вычислять наиболее используемые в описаниях изображений слова и рекомендовать их в дальнейшей подсказке
  • настроили строгий поиск и поиск по частичному совпадению
  • реализовали фильтр поиска по параметрам: ориентация, дата съемки, автор и т.д.
Поиск
Поиск
Возможности личного кабинета покупателя
  1. Пакеты изображений (поштучный и пакетный формат). При пакетной покупке пользователь осуществляет предоплату пакета с заключением договора с Издательством. В случае поштучной покупки пользователь покупает изображения в кредит и каждый месяц ему выставляется счёт за приобретённые изображения.
  2. Типы лицензий изображений: для интернета, для печати, эксклюзивная цена.
  3. История покупок и загрузок. Отображаются оплаты за пакеты и за покупку поштучно. А также список приобретённых изображений (превью, дата скачивания, формат, стоимость, кнопка «Скачать»). Если с файлом, который был скачан, что‑то случится, — всегда можно скачать его ещё раз.
  4. Автоматизированные отчёты как для авторов, которые публикуют свои изображения, так и для покупателей, что помогает избежать человеческого фактора в итоговых финансовых документах.
Личный кабинет
Личный кабинет
что в итоге

Новый фотобанк «Комсомольской правды» — это в первую очередь удобный, стабильный, масштабируемый сервис для внутреннего использования. Благодаря миграции данных в Yandex.Cloud со старого сервера:

  • на 70%
    увеличилась скорость загрузки
  • в 2 раза
    сократилось время на ручную обработку изображений

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

В фотобанке хранятся изображения ещё четырёх изданий, в том числе Экспресс газеты, которые в свою очередь договорились продавать свои фотографии через сервис «Комсомольской правды». Таким образом, проект трансформировался не только в фотобанк для хранения и продажи фотографий «Комсомольской правды», а в онлайн-площадку для размещения и продажи изображений других СМИ и издательств.

результат kpmedia.ru
стек технологий
PHP 8.1
Laravel
Laravel Backpack
PostgreSQL
Redis
Elasticsearch
Sentry
Yandex Cloud
Yandex Object Storage
Exiv2
Vips
Pulumi
Docker
Gitlab
менеджер проекта
  • Евгений Околита
аналитик
  • Константин Лихачев
Team Lead
  • Александр Селюченко
дизайнер
  • Марк Новак
  • Денис Соколов
фронтенд
  • Елена Вараксина
  • Яна Пластинина
бэкенд
  • Даниил Шумских
  • Роман Ердяков
Тест качества
  • Полина Махмутова

Хотите также?

или свяжитесь напрямую telegram
можно почтой info@machaon.ru
москва
Дмитровское 100, стр. 2
+7 499 755 62 98
киров
Московская 25г
+7 8332 35 18 86

Еще

Фон
Фон
Фон
Фон
Фон
Фон
Фон
Фон
Фон
Смотреть все 90+