Мы используем печеньки,
точнее cookie.
К нам обратилась компания «Поле», чтобы усилить команду разработчиков и создать крупнейший в России маркетплейс для производителей и потребителей сельскохозяйственной продукции. Именно этой платформой пользуются более 13 000 тысяч аграриев.
Проект развивался по трем основным направлениям — продажа сельхозпродукции и агропродукции, финансовые услуги (подключение новых партнеров для оформления рассрочки/кредита, запрос предложений, создание программы лояльности, оплата заказов и т.п), а также журнал с интересными публикациями.
Чтобы такая масштабная система работала без сбоев, команда «Поля» решила разделить монолитную архитектуру на микросервисы, а также внедрить Temporal. Для усиления команды они обратились в KOTELOV.
Покупатели в сфере агропромышленности самостоятельно искали производителей, лично звонили и узнавали о наличии товаров, а все контракты заключали на бумаге.
Чтобы продать урожай, купить удобрения, оформить кредит, нужно было обращаться в самые разные инстанции. Не было единой системы для быстрых операций.
Платформа позволяет расширить круг потенциальных контрагентов благодаря системе конкурсных торгов, сервису оценки качества продукции, возможности подобрать логистику по лучшим ценовым предложениям прямо внутри сделки.
Теперь можно следить за состоянием полей с помощью датчиков и предсказывать состояние урожая.
Сельхоз рынок очень консервативен, аграриям сложно доверить интернету сделку на несколько десятков или сотен миллионов — цена ошибки слишком высока. Поэтому они очень бережно относятся к своим проверенным контактам из записной книжки и предпочитают работать с ними, пусть и теряя выгоду в цене, условиях, скорости.
Нам нужно было создать не просто классическую b2b-платформу, а очень простой сервис, которым могли пользоваться возрастные клиенты, не привыкшие к онлайн-сервисам, поскольку все услуги по агропромышленности обычно проводятся оффлайн, например, доехать к поставщику на ферму, заключить договор и так далее.
Сервис должен показать, что делать что-то онлайн гораздо удобнее, чем привычные оффлайн-услуги.
Например, при покупки зерновых культур, пользователи должны видеть нужные показатели качества. Человек, не связанный с агросферой, может не понять, что они означают, но специалист сразу определит по ним стоимость в текущем сезоне и условия, на которых культура обычно продаётся. Это поможет ему быстрее принять выгодное решение.
Самая большая сложность — удержать таких клиентов и сделать для них все сервисы удобными. Для этого вся система должна работать без сбоев.
Стоимость ошибки в такой системе может быть колоссальной. Например, если из-за сбоя не пройдет хотя бы одна сделка по кредитованию, потери могут исчисляться миллиардами. Если система зависла на этапе оплаты, это приведет к большим проблемам. И именно поэтому «Поле» внедрили технологию Temporal.
Temporal автоматически восстанавливает выполнение задач после сбоев. Например, если транзакция зависла, Temporal обеспечит ее продолжение с того момента, где произошел сбой, что минимизирует риск потери данных и финансовых убытков.
Разработали сайт по принципу «одного окна», чтобы пользователи решали задачи сразу и в одном месте. Раньше покупателям и поставщикам приходилось обращаться во множество компаний, чтобы решить самые разные задачи — получить финансовые услуги, закупать товары производства и оценивать урожай. Теперь они это делают на одной платформе.
«И все эти услуги взаимосвязаны. Пользователь получает услугу А, связанную с услугой Б и понимает, что есть еще услуга С, которой тоже может пользоваться, даже если прямо сейчас она ему не нужна», — Александр Агафонов, PM проекта.
Провели интеграцию с крупнейшим в России покупателем и поставщиком зерновых — Demeter Holding.
Команде нужно было интегрировать учетную систему Demeter Holding с нашей платформой, чтобы можно было управлять заявками прямо из этой системы.
Мы создали классический API с возможностью двустороннего обмена данными, но сложность заключалась в том, что этот обмен происходил между двумя сильно защищенными системами. Поэтому сначала нам нужно было создать мост между учетной системой 1С в Demeter Holding и нашей платформой, а затем разработать API, который обеспечивал бы корректную работу обмена данными между этими системами.
Для разработчиков это была особенно интересна задача, поскольку для этого был создан отдельный микросервис, а тимлид предоставил полную свободу в выборе технологий.
Вся логика обработки входящих событий, проверка состояния интеграции (health check), резервное копирование данных на случай недоступности интеграции и механизмы повторных попыток (retry) были реализованы с использованием Spring Integration. Она помогает обеспечить надежное и гибкое взаимодействие с системой, даже в условиях возможных сбоев или недоступности.
Spring Integration поддерживает работу с множеством протоколов, таких как HTTP, JMS, FTP и другие. Это позволяет гибко настраивать взаимодействие с Demeter Holding в зависимости от используемых ими технологий.
С ее помощью можно управлять потоками данных, которые проходят через различные компоненты системы. Это полезно для обработки больших объемов данных, их трансформации и маршрутизации между различными сервисами.
Разработка маркетплейса включает GMV-платформы для удобной продажи урожая. GMV-платформа — это торговая платформа, которая отслеживает и управляет объемом продаж, проходящих через нее.
Они часто используются в электронной коммерции и маркетплейсах для измерения успеха и роста платформы, так как GMV показывает, сколько товаров или услуг было продано через платформу, что является важным показателем для бизнеса.
Добавили возможность участвовать в аукционах на покупку или продажу сельскохозяйственной продукции. Клиенты могут как выставлять свои предложения, так и самостоятельно участвовать в торгах.
Они получают доступ к платформе, где могут выбирать и делать ставки на лучшие предложения. Можно выбрать желаемую культуру и перейти к подробному описанию предложения покупателя, требованиям и условиям покупки.
Мы работаем над универсальным решением, которое можно предложить крупным корпорациям. Разрабатываем сервис документов, который решит проблему негибкости текущих решений.
Платформа, как понятно, основывается на взаимодействии между контрагентами. Когда покупатель и продавец находят друг друга, они заключают сделку. Она проходит через несколько этапов, и на каждом из них требуется юридическое подтверждение. Подписание соглашений, договоров, подтверждение объемов, условий поставки и так далее.
Мы готовим сервис, который сделает этот процесс работы со сделками более гибким и удобным.
Сервис будет включает в себя универсальный шаблонизатор. Он позволит подтягивать данные с платформы и автоматически превращать их в документы. Эти документы можно будет подписывать электронной подписью (КЭП или ПЭП), а затем получать юридически значимую печатную форму.