27 лет
на рынке IT

Превратили сайт из 2000-х в гибкую платформу c чатом для заказов и автораспределением заявок по приоритету

Выбор технологического стека влияет на функциональность, интеграции, возможности доработки и, как следствие, на стоимость и сроки проекта. Другой важный выбор — выбор команды разработчиков, у которой достаточно опыта, чтобы увидеть нюансы работы на подготовительном этапе и верно оценить сложность и затраты на реализацию. 
В кейсе punchcloud рассказываем, почему заказчик вернулся к нам после работы с другим исполнителем и как именно мы обновили сайт.
Задача:
создать адаптированный под разные устройства сайт с личными кабинетами для оформления заказов и их обработки сотрудниками
Решение:
масштабируемый мультиязычный сайт на Symfony с чатами для обсуждения заказов, системой оплаты по счетам с учетом НДС и скидок

О клиенте

«Панчклауд» (punchcloud) — российская компания, занимающаяся разработкой векторных изображений и реализацией дизайна в специальном формате для вышивальных машин.

Компания успешно работает в России и за рубежом: среднее количество заказов за полгода больше 10 тысяч и продолжает расти.

Ситуация до начала проекта

Первый сайт появился в начале 2000-х одновременно с компанией, он дорабатывался и менялся по мере развития бизнеса, при этом сохраняя общие черты. Именно этот сайт владелец «Панчклауд» хотел обновить, когда обратился к нам:

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

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

Алексей Комаров, системный аналитик проекта:

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

Однако на следующем этапе заказчик решил обратиться к другим разработчикам, чья оценка сроков и стоимости показалась ему привлекательнее. Дальнейшее развитие событий показало, что и сроки, и стоимость, предложенные «СофтЭксперт», были оправданы. Полгода спустя клиент вернулся к нам с недоделанным сайтом.

Короткие сроки и низкая цена проекта, предложенные другой командой, объяснялись выбором стандартной CMS, однако уже в процессе реализации стало очевидно, что она не могла удовлетворить требования заказчика, связанные с разделением прав доступа, хранением паролей в открытом виде, функционалом работы со счетами. В итоге же «Панчклауд» принял нашу точку зрения, а конкурентам просчет стоил потери заказа и репутации.

Цель и задачи

Цель — создание нового сайта с адаптивным дизайном, возможностью оформления заказов и хранением истории взаимодействия с клиентами.

Задачи:

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

Реализация

После возобновления сотрудничества мы повторно провели аналитику состояния нового сайта от предыдущего подрядчика и выяснили, что кроме визуальной составляющей позаимствовать оттуда нечего. За прошедшие полгода требования к функционалу изменились, поэтому мы составили новое ТЗ и приступили к работе.

Блок заказов

В первую очередь сайт ориентирован на предпринимателей: производителей одежды и аксессуаров с вышивкой, продавцов корпоративного и подарочного мерча и тех, кто создает кастомные вещи. Поэтому в заказе есть две опции:

  • калькуляция (предварительный расчет стоимости вышивки, например, перед заказом большой партии);
  • заказ готовой вышивки или схемы для вышивальной машины (разные размеры и сложность).
Полей в окне заказов много, но для удобства заполнения добавлены выпадающие списки, а еще можно прикрепить картинку и оставить комментарий для дизайнера.

На этом этапе одной из самых сложных задач стала адаптация накопленных на старом сайте заказов для нового, так как различия между двумя ресурсами были весьма существенными.

Другой задачей со звездочкой стало добавление поля «Приоритет» для заказов. Оно нужно, чтобы автоматически назначать срок изготовления и распределять заказы в списке. Сложность в том, что команда «Панчклауд» находится в Орле, а заказы приходят из разных часовых поясов, от Европы до Дальнего Востока.

Таблица с условиями работы системы приоритетов. Автоматизация распределения заказов снизила нагрузку на сотрудников и помогала выполнять заказы точно в срок.

Формирование матрицы ролей

Система ролей на сайте отражает внутреннюю структуру самой компании и позволяет работать с заказами прямо на сайте, без перехода с сторонние сервисы и мессенджеры. Кроме пользователя-клиента, мы настроили следующие роли:

  1. Дизайнер. Зайдя под своей учетной записью, дизайнеры могут увидеть список заказов, закрепленного за заказом дизайнера, а также детали каждого из заказов.  У дизайнеров есть возможность просмотра истории статусов и инициаторов изменений.
  2. Старший дизайнер. Видит список заказов в табличном виде и может управлять чек-боксом со статусами заказов. Также есть функционал ввода стоимости выполнения заказа, назначения ответственного дизайнера, прикрепления файлов, возможность вести внутреннюю переписку по заказу.
  3. Администратор. Помимо функционала, который есть у старшего дизайнера, администратор также может выставлять клиенту счета.
Для администратора добавили дополнительный виджет, на который выводится информация о заработанных суммах по месяцам.

Выставление счетов и стоп-лист

Так как сайт предназначен, в первую очередь, для предпринимателей, оплата заказов происходит по выставленному счету в конце месяца. При регистрации пользователь может указать, работает он с НДС или без (для зарубежных заказчиков VAT). При расчете автоматически учитываются налог и процент скидки пользователя.

Все выставленные счета выводятся в отдельной вкладке в табличном виде, там же администратор может посмотреть статус «Оплачен/Не оплачен». Если пользователь в течение определенного времени не оплатит счет, сначала ему выносится предупреждение, а еще через несколько дней он попадает в стоп-лист и больше не может совершать заказы, пока не покроет задолженность. Для удобства работы стоп-лист реализовали в личном кабинете администратора.

В отдельной вкладке работать с должниками проще и быстрее, а информация оперативно обновляется.

Языковые версии сайта

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

Сотрудники «Панчклауд» — русскоязычные, поэтом внутри личного кабинета администраторов и дизайнеров всегда используется русская языковая версия, независимо от региональной привязки.

Но для других стран были установлены особые правила. Так, для посетителей сайта из Германии, Австрии, Швейцарии автоматически открывается немецкая версия сайта, для посетителей из Франции — французская, для всех остальных — английская.

Что касается политики обработки персональных данных и других юридически значимых страниц, они размещены на 4 языках для соблюдения требований законодательства.

Для шапки сайта и самого размещения сайта придумали удобное решение, которое позволяет работать с зарубежными заказчиками.

Результат

 

Новый сайт punchcloud на Symfony получился удобным и для клиентов, и для сотрудников компании. Убрав неактуальные разделы сайта и функционал, мы упростили для пользователей навигацию и сократили до минимума путь к конечному действию — совершению заказа на машинную вышивку или векторную схему вышивки.

Вся информация по заказу собрана в одном месте, видна история изменения статусов, есть чаты для переписки внутри команды и с клиентом.

В результате реализации проекта:

  • повысили эффективность обработки и исполнения заказов благодаря удобным личным кабинетами с функцией заказа и автоматической очередью заявок;
  • сократили риски неуплаты по счетам за счет разработки отдельной страницы для работы с задолженностями;
  • в 2 раза ускорили загрузку страницы заказов и оптимизировали скорость процесса выставления счетов на оплату;
  • минимизировали риск пропустить заказ или комментарии к заказу благодаря обновлению сайта в реальном времени и всплывающих окон чата.

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

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

Понравился проект?
Звоните! Проконсультируем и рассчитаем стоимость проекта бесплатно!