Электронная торговая площадка одного из ведущих агропролхолдингов России
Клиент: Агрохолдинг
Электронная торговая площадка одного из ведущих агропролхолдингов России
Клиент — один из ведущих агропромышленных холдингов России. Холдинг охватывает несколько направлений производства: от кормов для животных и мясной продукции до полуфабрикатов и замороженных овощей
Задача
Доработать и оптимизировать электронную торговую площадку (ЭТП) для работы с контрагентами: продажи продукции и закупок сырья
Результат
Переработали интерфейс, чтобы площадка стала удобнее: теперь пользователи не тратят время на лишние действия — принимать решения о торгах стало проще и быстрее
Добавили расчёт стоимости логистики: участники торгов видят итоговую стоимость товара с учётом доставки
Оптимизировали логику разных ролей и проработали путь пользователя для роли внутреннего сотрудника, участвующего в торгах от лица нескольких контрагентов
Добавили возможность создавать группы продукции и контрагентов: теперь можно создавать аукционы под конкретные группы юрлиц и выставлять нужные группы товаров, а не добавлять их вручную по одному
Международная аудитория
Агропромхолдинг сотрудничает как с российскими, так и зарубежными компаниями
Электронная торговая площадка доступна на русском, английском и китайском языках
Каждый участник аукциона видит итоговую цену лота с учётом выбранного способа доставки в свою страну или регион
Роли
У сотрудников агропромхолдинга может быть одна или несколько ролей, а контрагенты используют площадку только как участники торгов
Организатор
Участник
Контролёр
Наблюдатель
Администратор
Авторизация
Войти в систему могут только контрагенты и сотрудники, которым предоставили доступ администраторы агропромхолдинга
Одноразовый пароль
Пользователь входит на площадку по логину и одноразовому паролю, который меняет сразу после авторизации. Все логины и одноразовые пароли поступают из внутренней системы агропромхолдинга
Автоматическое разлогирование
Допустим, если пользователь участвует в торгах с компьютера в офисе, а после продолжает дома с ноутбука, то после авторизации с ноутбука, он автоматически разлогинивается на рабочем компьютере
Капча
Предусмотрели капчу — тест, который отличает людей от ботов: пользователю необходимо ввести текст с изображения, чтобы завершить авторизацию на электронной торговой площадке
Блокировка учётной записи
Если администратор блокирует учётную запись, пользователь видит соответствующую надпись при авторизации. Пользователь вправе написать администратору с просьбой разблокировки
Учётная запись
Действует до даты, указанной администратором. Администратор может продлить её. Также пользователь вправе обратиться с нему с просьбой продления срока действия учётной записи
Личный кабинет
В нём пользователь видит информацию о себе, группе и набору, к которым он относится
В личном кабинете можно сменить пароль
Список документов, доступных для скачивания формирует администратор
Все уведомления системы приходят в личный кабинет
Аукционы
Есть два вида аукционов: на продажу и на покупку. Вся информация о продукции поступает из внутренней системы агропромхолдинга. Контрагент может торговаться только от своего лица, а сотрудник агропромхолдинга — за все юрлица, которые прикреплены за ним.
Как определяют победителя
Аукцион на покупку
Агрохолдинг выставляет товар на продажу
Участники предлагают свою цену
Побеждает предложивший наибольшую цену
Аукцион на продажу
Агрохолдинг выставляет лот на покупку товара
Участники предлагают свою цену
Побеждает назвавший наименьшую цену
Если объём выставленной продукции превышает ставки участников, побеждает несколько юрлиц.
Пример
Агропромхолдинг выставил 10 тонн свинины. Одно юрлицо запросило 5 тонн за 100 ₽, второе — 3 тонны за 90 ₽, третье — 4 тонны за 70 ₽. Остальные — сделали ставки меньшие.
В таком случае выиграют первые трое: первый и второй получат весь объём продукции, а третий — оставшийся.
Как мы оптимизировали раздел
Было
Изначально в системе было три отдельных таблицы: со списком активных аукционов, завершёнными аукционами и мониторингом торгов. В последней отображались аукционы, в которых пользователь принимал участие в данный момент
Сотрудникам агропромхолдинга приходилось переключаться из одной страницы на другую
Стало
Мы объединили все таблицы в одну: сейчас пользователям не тратят время на то, чтобы открыть каждую — достаточно пробежаться по одному списку
Теперь пользователь может повышать и понижать ставку без перехода на детальную карту аукциона. Особенно актуально для сотрудников агропромхолдинга, которые участвуют в нескольких торгах от лиц своих контрагентов
Создание аукциона
Аукционы на площадке создаёт организатор. Он может:
Загружать документы и указывать информацию об аукционе: условия, размер шага, время начала и завершения и т. д.
Выставлять товары по отдельности или их группы
Выбирать контрагентов, которые могут участвовать в торгах. Опции: все пользователи, только выбранные контрагенты, конкретная группа
Указывать время продления и количество продлений, если посчитает нужным
Создавать аукционы по отдельности или несколько за раз, загрузив Excel-файлы в систему
Детальная карта аукциона
У каждого запланированного, активного, завершённого и отменённого аукциона есть своя детальная карта
Участник может просматривать детальные карты аукционов, к которым у него есть доступ
Участник
В детальной странице участник видит стартовую цену, время проведения аукциона, документы и другую важную информацию, которая необходима для принятия решения о торгах
На странице активного аукциона пользователь указывает ставку и объём продукции, которую желает приобрести. Если он участвует в аукционе на покупку — он может повышать ставку на один или несколько шагов. А если на продажу — уменьшать её.
Участник дополнительно видит свою и лидирующую ставки, а на странице завершённого — историю своих и чужих ставок. При этом сотрудник агропромхолдинга видит все ставки, которые он выставил за юрлиц
Участник видит итоговую цену: с учётом доставки или отправки из своего региона, а также типа доставки — до двери или самовывоза с завода или центра
Администратор, организатор, контролёр, наблюдатель
В детальной карте аукциона, помимо основной информации, администратор, контролёр и наблюдатель видят ставки всех участников
Фильтрация и поиск
Если пользователь хочет просмотреть список конкретных аукционов, например, запланированных и тех, в которых участвует, — он может воспользоваться фильтрацией.
Кроме того, пользователь может фильтровать аукционы по товару, термическому состоянию, классификации, категории, дате начала и дате окончания. Можно указать диапазон дат: к примеру, выбрать аукционы, действующие с 1 по 10 апреля.
Также пользователь может воспользоваться поиском. Например, чтобы найти торги по продаже грудинки, достаточно вбить название продукта в поиске в категории «Товар»
Дополнительные торги
Если участники выражают желание приобрести больший объём продукции, чем запланировано в аукционе, агропромхолдинг проводит дополнительные торги. На них может быть выставлено несколько лотов продукции
Что нужно для участия
Заполнить заявку: указать объём продукции, желаемые даты и способ доставки. Система рассчитает итоговую стоимость
Отправить заявку на согласование. Её можно отменить в любой момент
Получить ответ на почту: узнать, одобрили заявку или нет. Также можно отслеживать статусы заявки в системе: «Создана», «На согласовании», «Согласована»
Каждая заявка проходит два этапа согласования: сначала её просматривает сотрудник агропромхолдинга, а затем — организатор
Списки
Администраторы, наблюдатели и организаторы видят списки по группам контрагентов, контрагентам и пользователям, а также по группам материалов и материалам
Организатор вправе создавать группы контрагентов и материалов — сразу в системе или с помощью импорта и Excel-файл. Также он может редактировать группы в детальной карте
Группы можно создавать вручную или по характеристикам, например, по стране. При создании вручную контрагентов и материалы выбирают из списка или ищут через поиск в системе
Организатор и администратор вправе заблокировать и разблокировать группу
Администраторы могут просматривать историю каждой группы: кем и когда она была создана, отредактирована, заблокирована, разблокирована
Организатор вправе просматривать списки контрагентов. В детальной карте контрагента — полная информация о нём и его наблюдателях
Администратор вправе заблокировать контрагента и всю группу компаний — с указанием или без указания причины блокировки
Отчёты
В системе можно формировать отчёты по аукционам, результатам торгов, материалам, пользователям, журналу логов и т. д.
Web-разработка
- Среда разработки
-
WebStorm
- Языки
-
TypeScript 5.8.3
- Сборщик
-
Vite 7
- Фреймворк
-
React 19
- Маршрутизация
-
React Router 7
- Стили
-
Sass
- Линтинг
-
ESLint •Prettier
- Контроль версий
-
Git
- Библиотеки
-
Zustand 5 •Zod 4 •TanStack Query 5Framer Motion 12 •react-i18next •AxiosVitest 3 •i18next •React Hook Form 7
Backend
- Среда разработки
-
PhpStorm
- Языки
-
php 8.4.10
- Технологии
-
Laravel •Laravel Queue •Laravel Sail
- База данных
-
PostgreSQL
- Очередь задач
-
Redis
- Контейнеризация
-
Docker
- Документация
-
Swagger
- Система контроля версий
-
Git
- Брокер сообщений
-
Kafka
Spider Group® специализируется на разработке мобильных приложений, сайтов, CRM-систем и серверной логики, внедрении AI, а также создании дополненной реальности и интернета вещей разработке мобильных приложений, веба, серверных проектов, дополненной реальности, искусственного интеллекта и Интернета вещей.