CMS Melbis Shop

Здравствуйте!
Меня зовут Дмитрий Касьянов, я руководитель проекта Melbis Shop.

Первый совместный магазин по продажи CD-дисков был написан на Perl в 1999 году, с тех пор тема электронной коммерции неотъемлемая часть моей жизни.

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

Сегодня, я хотел бы рассказать Вам об одном из своих проектов Melbis Shop (melbis.com), который претерпел множество преображений (самое первое название AllShops). Кроме этого, я бы хотел найти здесь единомышленников и опытных критиков, чтобы осуществить новые цели или пересмотреть их.

Краткая история версий
Итак, проект Melbis Shop — есть не что иное, как движек, CMS, CRM и т.п. система для создания интернет-магазина. Хотя, могу сразу заметить, что на его основе удобно создавать и разные другие проекты, есть примеры обычных сайтов с клиентской базой, а также сайты сервиса для IoT.

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

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

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

В общем, основной пик темпов развития пришелся у нас на Melbis Shop 5.2 и где-то на 2006 год, именно тогда было реализовано более сотни лицензий и созданы собственные магазины под соответствующие хобби сотрудников для полевых испытаний.

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

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

Технологии Melbis Shop 6
Мне нравится программирование с юности, поэтому я уже привык к постоянному темпу роста и появления новых версий языков программирования, шаблонов проектирования, вспомогательных технологий и прочих составляющих. Наверное, для аутсорса, основное требование это «быть постоянно в теме», то есть это постоянное обучение и готовность влиться в новый проект. Создавая свой продукт, меня больше беспокоит степень владения одним-двумя языками, чем их количеством.

Клиентская среда Melbis Shop 6 написана на Delphi c локальной СУБД Firebird, а для серверной части мы используем максимально популярную связку PHP и MySQL или MariaDB. Как видите, здесь все проверено временем и достаточно просто.

Непросто — это было создать саму архитектуру проекта и взаимодействие его частей. Но об этом позже. Собственно говоря, основа любого продукта, это ответы на вопросы: Кому? Зачем? Почему?

Кому?
В первую очередь, владельцам отраслевых продвинутых магазинов. Например, на базе Melbis Shop, построены такие магазины как AstroScope.com.ua, Veliki.com.ua, которые являются лидерами в своей отрасли. Наблюдая их историю с 2007 года, я могу сделать вывод, о том, что их технологическая составляющая внесла весомую роль в их успех.

Зачем?
Для того чтобы успевать больше при меньших усилиях. Безусловно пик продаж Melbis Shop пятой версии пришелся на то время, когда скорость передачи информации в сети Интернет была весьма ограничена. Строго говоря, именно в этом наша визитная карточка — быстрый, удобный windows-клиент для управления магазином. Нет, не мы это придумали (например, есть давний проект www.shopfactory.com), но мы заинтересовались этим походом и решили довести его до совершенства.

А что сейчас? да, скорости Интернет конечно высокие, но все равно есть такое понятие, как время отклика, которое никто не отменял и оно существенно не уменьшается спустя даже десятилетия. Попробуйте скачать/записать папку с 1000 файлами на сервер используя FTP-клиента, а потом сделать тоже самое одним архивом. Собственно, это все очевидно и так, наверное, поэтому многие крупные проекты стремятся создать десктопные приложения типа Google Adwords Editor для эффективной работы с данными.

Почему?
Расти или умри. Потому, что мелкие магазины вырождаются и переносят свои предложения на сторону маркетплейсов. Большинство предпринимателей для проверки своей бизнес-идеи нуждаются в простом, быстром и эффективном инструменте. Я думаю для этого отлично подходят такие платформы (если речь об украинском рынке) как Prom или OLX, где большая часть их со временем и закончит свое существование. И причина здесь в свойствах и стремлении любого бизнеса укрупняться и стремиться к монополии. На таких площадках есть шанс остаться, только у очень нишевых продуктов или для продавцов ценовые преимущества которых основанны в первую очередь на контрабандных лазейках. Все остальные варианты видны для покупателя, как на ладони: один и тот же товар продают десятки одноликих продавцов, остается выбрать только тот, что дешевле. Не забудьте, что естественно все продажи мониторятся самими владельцами площадки, выделяя наиболее маржинальные сегменты. Так что, я не удивлюсь, если в будущем там будут «свои» продавцы для 20% товаров, которые будут приносить 80% прибыли (закон Парето).

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

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

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

Функциональность
Структура базы данных должна быть понятной и гибкой для организации различных проектов. Задача Melbis Shop взять на себя рутинные операции по администрированию магазина. А вот внешний вид магазина, принцип построения витрины и подобные вещи, мы предлагаем формировать владельцу магазина самостоятельно (штатный сотрудник-программист) или с помощью наших партнеров-студий.

Организация
Наш опыт говорит о необходимости разделения процессов и сотрудников с разграничением доступа к коммерческой информации. Поэтому, среда Melbis Shop имеет принципиально разные разделы для работы с товарами. Есть структурные барьеры разделяющие некоммерческие поля и целые группы свойств товара — характеристики, и наоборот коммерческие — цены и параметры. Это гораздо эффективнее, чем элементарные права доступа пользователей, которые и так подразумеваются.

Масштабируемость и открытость
Клиентская среда Melbis Shop — это windows-приложение с конечными возможностями, но во многих ее частях есть встроенный браузер Chromium. Это и есть тот самый «золотой ключик» для всевозможных хотелок владельца магазина. Например, для своего проекта AstroScope, мы написали с десяток модулей типа: финансового и складского учета, раздела поставщика, статистика покупателя и выбор карты доставок, работа с АТС, аналитические отчеты и т.п. Примечательно, что все эти модули могут работать как и внутри самой программы, так и через любой браузер или смартфон. А некоторые наши клиенты, сочли необходимым продублировать в том числе и правку товаров через веб-модули для особых случаев.

Важные мелочи
Работа с товарами это то, что занимает в магазине бОльшую часть времени. Мы это хорошо прочувствовали на себе в том числе. Мне кажется, не очень разумным печатать здесь огромный список доступных функций. К тому же, простое сухое упоминание мало что расскажет Вам, например о нашем HTML-редакторе, редакторе изображений, менеджере характеристик товаров, работе с ценами и т.п. Там так много мелочей и они так много и долго шлифовались, подбирались и менялись. Думаю лучше один раз попробовать, чем долго читать об этом.

Среда разработки
Как я уже сказал, основная задача шестой версии это базовые функции администрирования магазина. Это означает, что Melbis Shop 6 это только бэкенд проекта. Но это не значит, что нам все равно каким образом будет формироваться витрина. Поэтому, мы создали проект в проекте — среду разработки, максимально функциональную и адаптированную под архитектуру проекта. Безусловно, можно взять за основу и только саму базу данных. Использовать свои технологии и редакторы, но как показывает практика многие задачи удобнее делать именно в нашей среде. Ведь она наглядно отображает структуру, позволяет использовать готовое API для работы с данными, контролировать кеширование и зависимости модулей, использовать функции автозавершения кода, производить отладку SQL-запросов, загружать CHM-справочники и т.д. и и т.п.

Доступность
Изначально шестая версия стоила достаточно дорого, и мы упорно рекомендовали ее в первую очередь для состоявшихся проектов, которые хотят выйти на новый уровень. Но сейчас ситуация поменялась, мы видим варианты использования Melbis Shop 6 в том числе и для небольших проектов, поэтому мы изменили модель в сторону SaaS, значительно уменьшив порог вхождения.

Дальнейшие цели
Одна из самых существенных трудностей, которые мы сейчас испытываем — это дефицит партнеров уверенно работающих с Melbis Shop 6. Как я уже писал, нам пришлось сделать долгий заплыв после пятой версии. За это время естественно произошло проседание популярности продукта и разработчиков знакомых с ним.

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

Мне хотелось бы найти тех, кто располагает знаниями и желанием разобраться и создать на Melbis Shop 6, что-либо интересное. Кстати, начинать изучать и писать свои модули для продукта, можно и потом, когда он уже популярен и это будет менее рискованно, но уже и не так эффективно, как прямо сейчас.

Интересно, недавно на форуме DOU была тема «Как выйти из IT?» и хоть большинство мнений в комментариях свелось к простому «Да ты друг просто зажрался!», я все же почувствовал лейтмотив автора и могу предложить свой рецепт: сочетать накопленный опыт и знания в IT с другими областями. На примере своей тематики, я могу сказать, что многим отечественным предпринимателям, нужен не просто программист, а программист-организатор. Формализация бизнес-процессов и их алгоритмизация — это то, что может легко получаться у Вас, и это то, чего часто не хватает. Ицхак Адизес в книге «Идеальный руководитель» очень доступно изложил, почему даже самому талантливому предпринимателю необходим скрупулезный напарник. Это я написал не философии ради, а из моей личной жизни, когда разработчики на Melbis Shop становились соучредителями проектов.

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

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Подписаться на комментарии