Евгений Сайты › Peppers Сбер ID
Сайты, SEO и GEO, реклама, чат-боты, ИИ и дизайн | Москва
Рейтинг
9 371
№ 111 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
11 лет
На сайте с
2016 года
Юридический статус
Самозанятый
Freelance.Boutique
Премиум-сервис для лучших исполнителей

Сервис заказов для типографии на Spring Boot: расчёт цены, проверка макетов, статусы производства и роли клиентов

Используемые навыки Java Spring Spring Boot Spring Data Spring JPA Spring Security

Описание

Евгений Росляков написал для типографии полного цикла сервис заказов на Spring Boot: онлайн-расчёт цены, загрузку макетов с автоматической проверкой и статусы производства для клиента, менеджера и цеха. Веб-разработкой он занимается с 2016 года, работает самозанятым, до старта подписывает договор, а юрлицам выдаёт закрывающие документы. Базируется в Москве, но может вести проект и удалённо.

Типография печатает визитки, каталоги и упаковку небольшими тиражами. Заказы приходят через онлайн-калькулятор и приём макетов на сайте. Прежний сервис писали давно, и перед праздниками он падал в самый неудобный момент, когда идут корпоративные заказы: сотни визиток и подарочных коробок для сотрудников.

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

Менеджеры не видели, на каком этапе заказ, и ходили в цех спрашивать. Корпоративным клиентам тоже было неудобно: сотрудников у компании несколько, а в аккаунте один пароль на всех.

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

Решение

За основу взял Spring Boot на Java. Экосистема Java Spring дала готовые куски для того, что типографии нужно: безопасность, работа с базой, очереди и проверка данных. Каркас с нуля писать не пришлось.

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

Макеты проверяются при загрузке. Сервис смотрит размер страницы, вылеты под обрез, цветовую модель и разрешение изображений. Если с файлом что-то не так, клиент сразу читает причину простыми словами и загружает исправленный. Проверка идёт через очередь: файл принимается мгновенно, разбирает его отдельный обработчик. В сезон очередь просто становится длиннее, а сайт не зависает.

Роли настроил на Spring Security. Клиент видит свои заказы. У корпоративного клиента есть администратор компании и сотрудники, которые оформляют заказы от её имени. Менеджер ведёт заказы и общается с клиентом. Цех видит только макет, тираж, материал и срок, а цен не видит.

Работа с базой идёт через Spring Data. Репозитории описаны на Spring JPA, как чаще говорят, Spring Data JPA, с Hibernate под капотом. Запросы к заказам, файлам и статусам читаются просто. Тяжёлые выборки я проверял отдельно, чтобы список заказов менеджера не превращался в сотню запросов к базе.

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

Перед сезоном провёл нагрузочные прогоны: одновременная загрузка десятков больших макетов плюс работа менеджеров. Нашёл два узких места и убрал их.

Результат

Первый предпраздничный сезон на новом сервисе типография прошла без падений. Корпоративные заказы приходили пачками, и очередь проверки макетов разбирала их без остановки.

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

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

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

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

Заказы теряются между сайтом, менеджерами и производством? Напишите мне на freelance.ru, как сейчас идёт заказ от макета до выдачи, и обсудим, что собрать в одном сервисе.

Оценили проект:

Другие проекты

Все проекты →
Маркетинг и Продвижение Продвижение в интернете через контент для магазина товаров для дома: описания карточек и статьи блога с помощью Jasper, Hypotenuse AI и Katteb
Продвижение в интернете через контент для магазина товаров для дома: описания карточек и статьи блога с помощью Jasper, Hypotenuse AI и Katteb
15
Веб-разработка и IT Создание сайта: Интернет магазин сантехники и отопления на 1С-Битрикс с обменом остатков и заказов с 1С, 30 000 позиций
Создание сайта: Интернет магазин сантехники и отопления на 1С-Битрикс с обменом остатков и заказов с 1С, 30 000 позиций
21
Веб-разработка и IT Создание сайта-онлайн-школы для учебного центра по охране труда: Moodle, протоколы в PDF, обмен с CRM и кабинет для предприятий
Создание сайта-онлайн-школы для учебного центра по охране труда: Moodle, протоколы в PDF, обмен с CRM и кабинет для предприятий
16
Веб-разработка и IT Внедрение Microsoft Dynamics для дилера спецтехники в Ташкенте: от Dynamics AX, NAV и GP к единому контуру, склад в карточке сделки
Внедрение Microsoft Dynamics для дилера спецтехники в Ташкенте: от Dynamics AX, NAV и GP к единому контуру, склад в карточке сделки
17