Как переделать базу данных шрифтовиков с 20-летней историей

Заказчик

Крупнейший российский разработчик шрифтов — Паратайп.

Задача

Запрограммировать новый дизайн сайта магазина шрифтов fonts.ru и совместить его со старой базой данных.

Результат

Полностью перестроена структура базы данных и автоматизированы бизнес-процессы компании, на новой платформе запущены fonts.ru и paratype.com.

Ситуация

В 2013 году крупнейший разработчик шрифтов в России Паратайп решил сменить дизайн. Агентство Red Keds по заказу компании придумало сложное одностраничное приложение на AJAX, с программированием которого не смогли справиться три предыдущих подрядчика.

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

Работа началась в сентябре 2015 года. Был реализован функционал нового дизайна и настроена обратная совместимость с существующей базой данных. С новой инфраструктурой Паратайп заработал в 2016 году.

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

'Андрей Песошин'
'Соучредитель «Хайтек Груп», CEO. Выступал тимлидом проекта'

Задача

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

Особенности проекта

Специфика шрифтов

Паратайп — это не обычный интернет-магазин, который продает товары. Шрифты — это гарнитуры, у каждой из которых имеются начертания, внутри начертаний — форматы. Каждый формат продается по одной из 14 лицензий. Только гарнитур в старой базе данных Паратайпа было около 5000, а всего продавалось более 250 000 позиций. Кроме собственных, продаются шрифты других производителей, причем правила продажи существенно различаются.

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

Combinations

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

Старая база данных

Четкого понимания, как должна выглядеть новая база данных, не было. У разработчиков — из-за обилия узко-специализированных требований, у самого Паратайпа — из-за консервативности и силы привычки. Многие сотрудники компании работали со старой базой данных, которая напоминала таблицы Excel и поддерживалась еще с 1995 года.

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

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

Работа над новой базой данных началась в сентябре 2016 года. За полгода разработчики, представители компании и внешний консультант продумали ее структуру.

Автоматизация бизнес-процессов

Чтобы разобраться со всеми бизнес-процессами компании, прошла серия интервью с программистами, менеджерами по продажам, консультантами. Бухгалтер Паратайпа рассказал о выписке документов, менеджер по проекту — про расчеты роялти.

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

Андрей Песошин
'Соучредитель «Хайтек Груп», CEO. Выступал тимлидом проекта'

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

Так родилась идея ввести понятия шрифтового продукта и его редакции. Шрифтовой продукт — это набор из одного или нескольких начертаний, либо целых гарнитур. Редакция представляет допустимые комбинации продажи форматов под разными лицензиями. Практика показала, что новая модель описывает 100% имеющихся комбинаций продажи. А потом подтверждение идеи нашлось в материалах от мировых поставщиков — они, оказалось, тоже используют схожую терминологию в своих бизнес-процессах.

Андрей Песошин
'Соучредитель Хайтек Груп, CEO. Выступал тимлидом проекта'

Model

Шрифтовая подсистема

Хайтек совместно с представителями Паратайпа унифицировал и автоматизировал бизнес-процессы компании — устройства шрифтов, лицензирования и продажи шрифтов. Было выполнение проектирование модели для взаиморасчетов роялти с лицензиарами шрифтов.

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

Database

Шрифтовая подсистема в новой базе данных — 8 таблиц описывают все, что нужно

Модульный договор

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

Мы скорректировали подход к бизнес-процессам и лицензионной политике. Хайтек по заданию заказчика перестроил состав заказа — сформирован единый лицензионный договор, модули которого меняются в зависимости от того, что купил человек. Все поля заполняются автоматически. Клиент получает не просто шаблон, а конкретный документ именно на то, что он купил.

Андрей Песошин
'Соучредитель «Хайтек Груп», CEO. Выступал тимлидом проекта'

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

Новый интерфейс и база данных

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

В условиях вступления в силу новой редакции 54-ФЗ об онлайн-кассах на старом сайте Паратайпа была отключена онлайн-оплата для физлиц. Хайтек доработал API и внедрил Paymaster от WebMoney, что позволило возобновить продажи на новом сайте.

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

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

Используемые технологии:

ASP. NET, .NET Framework, Microsoft SQL Server, Node.js, Angular.js, Gulp, WCF, Balsamiq Mockups

Команда:

11 человек со стороны Хайтека

6 человек со стороны заказчика

  • Запуск первоначальной концепции fonts.ru
  • Перезапуск на новой инфраструктуре
  • Запуск paratype.com
  • Перевод paratype.com и продаж из офиса на новую инфраструктуру

Взаимодействие

Разработчики Хайтек перешли на Time & Materials — оплату по факту — и договорились, что заказчик не будет отслеживать решение мелких задач. Ответственность за работу с Хайтеком взял product owner со стороны Паратайпа Артем Драбкин.

У меня сложились с Хайтеком очень доверительные отношения. На мой взгляд, они были выстроены оптимально с точки зрения знания и опыта. Может быть, кто-то другой выполнил бы работу и лучше — не знаю. Но те люди, которые собрались на этом проекте, выдали максимум по своим способностям.

Артем Драбкин
Менеджер по развитию бизнеса ПараТайп

Работа над проектом требовала глубокого погружения в мир шрифтов.

Ребята влезли в наш сложный бизнес со специфичными лицензиями, форматами и нюансами и разобрали все процессы как клубок ниток. У Хайтека очень сильный бизнес-аналитик — Анастасия Гридина. Без нее мы бы ничего не сделали. А Андрей Песошин — после работы с нами входит в первую сотню людей, которые разбираются в шрифтах в России лучше всех.

Артем Драбкин
Менеджер по развитию бизнеса ПараТайп

Результат

Хайтек в процессе разработки изучил все бизнес-процессы компании и совместно с заказчиком пришел к новой концепции — продаже шрифтовых продуктов. Заложен ИТ-фундамент, на котором строятся все продажи и маркетинг.

Хайтек изменил структуру базу данных, автоматизировал шрифтовые подсистемы, формирование договора и лицензионные отношения.

Реализовал современный фронтенд fonts.ru, запущен paratype.com . Продолжаются работы по развитию двух сайтов и переносу данных из старой базы данных. Для полного перехода на новую инфраструктуру готовится к закрытию paratype.com.

Опубликовано: 01.05.2018
Другие кейсы