На протяжении 12-х лет компания приняла участие в строительстве сотен тысяч объектов, а интеллектуально-консалтинговый ресурс MIZOL насчитывает несколько тысяч решений, которые позволяют использовать строительные материалы с максимальной экономической выгодой и надежностью.

MIZOL

#eCommerce

#Refactoring

#Laravel

#BigData

Клиент

Наш клиент - корпорация Мизол Компания Euroizol. Крупнейший поставщик стройматериалов из Европейских стран на Украину. Компания представлена в крупнейших сетях Украины таких как Эпицентр и Новая Линия. Компания приняла участие в строительстве и проектировании многих и многих объектов в Украине, ярким примером масштаба архитектурных сооружений, которые обслуживал Мизол, является НСК Олимпийский.

Задачи

CRM & ERP

Задача поставленная клиентом созревала на этом предприятии около 10 лет, как то в далеком прошлом клиент приобрел CRM систему на украинском рынке и в течении 10 лет развивал ее силами программистов находящихся в штате компании. Продукт находился в плачевном состоянии, так как код практически напоминал процедурный и поддерживать его было очень сложно трудоемко и дорого. CRM ERP система чем то напоминала аналог 1С - сложные хозяйственные операции, бухгалтерские проводки, сотни громозских отчетов находили свое соседство с современными интеграциями с SAAS сервисами и крупными компаниями вроде Новой Почты и Вчасно - сервиса по документообороту в электронной коммерции.

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

Технический Background

Рефакторинг крупного проекта с кодовой базой более 10 лет для предприятия CRM система которого находится в активной работе, разработке и обслуживании - вот задачей с которую нам пришлось осуществлять. Что же мы предприняли с технической стороны чтобы сделать такой старый, частями процедурный , и очень не удобный в обслуживании код - современным, легко читаемым и быстродейственным ? Во первых мы начали с Базы данных, на проекте была база данных Oracle, не имеющая даже первичных ключей в ствоей структуре. Мы не стали менять базу, чтобы не потерять и малейшей доли каких либо данных, мы добавили несколько новых таблиц характерных Ларавель системам, добавили в некоторые существующие таблицы первичные ключи.

Большая работа была проделана по перестроению основных классов в Сущности - Entities новой системы. Были добавлены репозитории и интерфейсы репозиториев в которых были описаны основные методы взаимодействия с данными. Так как у нас появились сущности то, используя нами любимый фреймворк APIATO, который построен на базе Ларавеля, мы подключили такие сущности проекта как Actions and TAsks, в которые постарались вынести и сгруппировать основную бизнес логику в зависимости от каждой Entity. Так же мы постарались наполнить Ларавелевские модели основными связями - Relations- - что сделать было чрезвычайно тяжело, так как старій процедурній код для общения с базой использовал чистые старые, добрые SQL запросы.

Архитектура и программные решения

Конечно же очень тяжело достижимым идеалом в архитектуре стал для нас SOLID principals. Но все таки по большей мере мы очень стремились создать действительно SOLID - ный код. И уверены у нас это получилось. В работе над рефакторингом мы все время старались использовать DDD подход. Микросервисная архитектура тоже пришла нам на помощь в тех местах где потребовалось инкапсулировать хороший рабочий код в сервисы к которым практически нет и не будет в будущем обращения девелоперов с целью его изменения. Мы использовали архитектуру PORTO как и во многих наших других работах. Это позволило нам вынести Основные массивы бизнес логики в отдельные контейнеры- репозитории которые совокупно сейчас и образуют наш большой проект.Как и во всех наших проектах мы активно использовали Kubernetes и CI/CD practics.

CRM & ERP

yam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Копирайтинг

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod

Брендинг

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Сайт

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Копирайтинг

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod

Брендинг

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Сайт

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Копирайтинг

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod

Брендинг

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Сайт

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Копирайтинг

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod

Брендинг

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

UI/UX

Решения

CRM & ERP

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

Основной функционал

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

  1. Интеграция с компанией Новая Почта.
  2. Интеграция с сервисом документооборота Вчасно.
  3. Интеграция с кассовым сервисом Checkbox.

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

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Удобство использования всех типов устройств и новые уровни автоматизации процессов.

Основной функционал

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum

  1. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
  2. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
  3. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo

Автоматизация бизнес процессов компании привнесла новый свежий поток инвестиций для нашего клиента.

Технологии

Основные технологии которые мы использовали для достижения целей клиента :VueJS - frontend /Laravel- Apiato Backend - Вынесение некоторых самых ресурсоемких процессов в микросервисы на GoLang - Микросервисная архитектура, Porto архитектура основного приложения. Использование Docker & Kubernetes. Continius Integration/Continius Delivery (CI/CD Gitlab). ArgoCD , Helm, Harbor.

Нам очень нравится разработка на Laravel Это самый современный и динамично развивающийся PHP фреймворк современности с отличным комьюнити и прекрасной документацией. Пожалуй это лучший инструмент в современном мире разработки и поддержки PHP кода

Резюме

Несомненно очень приятно иметь в портфолио такого солидного клиента которомы мы обеспечили переход на SOLID-ный код :) Мы очень рады что в нашем опыте теперь есть столь сложный и объемный проект, рефакторинг которого мы выполнили в срок 7 месяцев. Было обработано свыше 6 ГБ файловой базы и нам пришлось столкнутся с продакшен базой данных размером более 1 TB.А технологии рефакторинга которые мы применяли вполне могут претендовать на звание Революционных технологий. А главное и основное клиент остался очень доволен.

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

Мы еще больше узнали ою архитектуре, микросервисах и BigData. смело заявляем что вышли на новый уровень разработки и развития проектов. В перспективе и планах вынесение и инкапсуляция самых рессурсоемких процессов в микросервисы на GOLANG. Путешествие оказалось увлекательным и полезным как для клиента так и для нас.