Авторизация
Сброс пароля
Разработка высоконагруженного проекта со сложной формой поиска, интеграциями и технологиями обработки Big Data
1. Вводная задача от заказчика, проблематика, цели
Ранее компания DD Planet принимала участие в разработке основной площадки — Fintender.ru — одной из крупнейших B2B-систем в сфере государственных и частных закупок. Сейчас для нее требовалось создать отдельный удобный инструмент поиска и исполнения сделок.
Основная проблема других сервисов по работе с закупками заключается в том, что пользователи при работе с огромной базой закупок могут искать лишь по 2-3 критериям (стоимости, дате и местоположению). Перед нами стояла задача создать кардинально новый проект с широким функционалом и удобной системой поиска. По итогам работы пользователи должны были получить универсальный набор онлайн-сервисов для осуществления закупок.
2. Описание реализации кейса и творческого пути по поиску оптимального решения
Реализация проекта базировалась на следующих аспектах:
- Разработка сложной формы поиска, учитывающей множество параметров.
- Использование технологий машинного обучения и обработки Big Data (порядка 5 TB).
- Внедрение интеграций со сторонними сервисами для проверки данных.
Сложная система поиска
Мы разработали многопараметрическую форму для поиска, благодаря которой пользователь может вводить запрос в любой словоформе и искать одновременно до 5 различных наименований. Искать закупки можно по наименованию товаров, работ и услуг, по названию и ИНН заказчика или поставщика, а также по номеру сделки.
Пользователю доступна расширенная система фильтров для уточнения требований к закупке: цена, регион, время, возможность аванса, срок оплаты, статус закупки и т.д. Она также позволяет производить поиск по текущим, будущим и завершенным закупкам.
Удобный интерфейс
Для удобства пользователей мы разработали структурированные карточки для вывода результатов вместо таблиц. Они содержат все данные о поисковом запросе, закупке и сопутствующую информацию для участия в тендере.
Дополнительный функционал и интеграции
- Создание документа «Обоснование начальной (максимальной) цены контракта (НМЦК)» прямо на сайте. Без этого документа участие в тендере невозможно.
- Автоматическая проверка СНиПов и ГОСТов в документации заказчика. Сервис СТАР сам находит несоответствия документации текущей версии СНиПов и ГОСТов, сообщает об этом заказчику и дает рекомендации по корректировке.
- Сервис также предоставляет другие возможности для поставщиков и заказчиков.
Технологии
В качестве основной технологии для СТАР мы выбрали известный поисковой движок Elasticsearch, который работает со всеми типами данных, позволяет масштабировать проект при увеличении числа пользователей в системе и используется во многих высоконагруженных проектах.
Сегодня проект ежедневно обрабатывает около 100 тысяч файлов, и этот объем постоянно увеличивается. Для организации такого объема задач используется технология очередей RabbitMQ. Для взаимодействия поискового движка с информацией из обычной реляционной базы данных - тракт, построенный на основе пакетов MS SQL Server.
Бэкенд-разработки проекта реализованы с использованием C# и ASP.NET, фронтэнд-разработка велась на React.
Расширенная система фильтров
Отображение результатов поиска
Проверка контрагента
3. Результаты сотрудничества
- По данным SimilarWeb, сервис занимает лидирующую позицию относительно других проектов данной тематики. Ежемесячно им пользуются около 600 тыс. человек.
- После запуска СТАР количество привлекаемых поставщиками тендерных кредитов и банковских гарантий на Fintender.ru выросло в 2 раза.
- Сервисом ежедневно пользуются 20 тысяч человек с ежемесячным приростом в несколько тысяч пользователей.
4. Заключение
По итогам работы был создан универсальный сервис, благодаря которому поставщики и продавцы могут быстро и удобно находить друг друга, а также осуществлять работу с закупками онлайн без лишних сложностей.