eMarket GNU GPL 3.0 (движок интернет-магазина) ч.2

После первой публикации мы получили порцию критики. И это не удивительно, так как первый альфа-релиз состоялся только 1 января 2021. Мы прислушались к конструктивно критикующим коллегам. Было принято решение доработать ряд моментов. А именно:

Блок-схема<br /> eMarket
Блок-схема
eMarket

1. В частности очень многих смущали обработчики в контроллере, которые были вне классов. Это справедливая критика, так как многие отвыкли видеть код в контроллере вне объектов.

Для того чтобы устранить эти моменты был проведен крупный рефакторинг кода. В настоящий момент весь код бизнес-логики, как впрочем и весь остальной, находятся в классах в разделе model/eMarket. Сторонние классы находятся в папке model/vendor и они остались не тронуты. Не осталось мест с кодом-лапшой.

2. Ряд вопросов был и к не привычной структуре движка. Чтобы наша архитектура была более понятна, прилагаю блок-схему структуры движка.

3. Почему бутстрап 3? Если посмотреть на дату начала проекта (март 2018), то станет понятно что на тот момент стабильная версия была только третья. На четвертую не было смысла переходить, так как мы понимали что позже (к моменту нашего первого релиза) выйдет пятая версия, и лучше не малую работу провести уже на пятой версии. Кроме того пятая версия (пока еще бета) написана на ванильном JS. А это позволит выбирать JS фреймворк, а не быть привязанным к jQuery. Это задел на будущее.

Мы начали подготовку по переводу всего своего JS кода на ванильный, но эта работа не быстрая, так как многие плагины завязаны на jQuery. Когда появится возможность отвязаться от этих плагинов, то это будет сделано. Вероятно уже после перехода на 5 версию бутстрапа.

Другими словами мы готовимся к переходу на бутстрап 5, но для начала он должен выйти в стабильной версии. Мы надеемся что переход на ванильный JS даст возможность полностью отвязаться от jQuery и предоставит свободу выбора фреймворка или библиотеки: ReactJS, Vue и т.п.

Минимальные требования:

PHP >= 7.3 (включая 8.0)
MySQL >= 5.7
Javascript >= ES6
HTML 5

Мы используем режим error_reporting(-1), и многие могут убедиться в чистоте лога. Верстка ведется профессиональным верстальщиком, и мы надеемся что наша работа будет интересна людям.

Я постараюсь ответить на все конструктивные вопросы.

Проект на GitHub - https://github.com/musicman3/eMarket

Техподдержка и демо - http://emarketforum.com

55
23 комментария

Выглядит очень неплохо !!!
Вопрос один, относительно фреймворка  js?
Сейчас 2012 или 2021?)))
Многие, очень многие переходят на гугловский, он значительно быстрее  да библиотек меньше,  НО если именно web то их - достаточно + есть интеграция с тем же C++ . 

Ответить

Спасибо. Так как мы начинали проект в 2018, то на тот момент был Bootstrap 3, а он завязан на jQuery. В настоящий момент мы готовим js на ваниль с таким расчетом, чтобы перейти на 5 бутстрап (который тоже на ваниле). При этом после того, как решим все замены плагинов на ваниль, то получим систему, свободную от js-фреймворка, и уже можно будет выбирать на свой вкус любой фрейм или библиотеку: ReactJS, Vue, Angullar  и т.п. тем, кто захочет ее подключать для своих нужд. Пока еще не вышла стабильная версия 5 бутстрапа, мы меняем свои библиотеки js, обработчики модальных окон и т.п. на ваниль. Это займет время, но зато даст возможности в разработке js-части в будущем. В принципе это описано чуть выше, но суть думаю ясна. В идеале мы оставим ваниль, а если и будем использовать современные решения, то уже не jQuery. Вероятно это будет ReactJS или что-то другое. Слишком дорого обходится завязка на фреймворк в плане долговременной поддержки и задела на будущее и нужны долгоиграющие и современные фреймы, при том чтобы они уже не глобально использовались в проекте, а локально для определенных нужд, с целью более простой их замены в случае необходимости. Проблема jQuery изначально в бутстрапе на момент начала разработки. Поэтому тогда и не использовались нынешние решения, которые более актуальны. Поэтому использовали то, что было в jQuery. Никто не думал что 5 бутстрап наконец-то эволюционирует в ваниль. А это большой шаг вперед по сравнению с конкурентными решениями. И мы намерены перейти на ваниль в ближайшее время. Я думаю к моменту выхода готового рабочего релиза 1.0 мы уже перейдем на 5 бутстрап и ваниль.

4
Ответить

Здравствуйте. Статья чисто техническая, но, на мой взгляд, Трибуна - это не про технические приемы. Более конкретно о чем хотелось бы читать описано здесь https://vc.ru/tribuna/details/rules. Тем не менее, молодцы, что поработали над отзывами

1
Ответить

Спасибо. Я еще не очень освоился на этом ресурсе, и трибуна показалась наиболее подходящей. А какой раздел Вы бы посоветовали?

2
Ответить

Да, интересный проект. Будем надеяться что у вас все получится. Действительно, тут площадка для технарей не очень подходит. А по поводу JS, так я думаю React в самый раз. На него куча документации, и сообщество огромное. Он сейчас в первых рядах и поддерживается на долго.

Ответить

Спасибо за поддержку. Мне тоже кажется что React более подходящий вариант. Он все таки больше библиотека, нежели фреймворк.

1
Ответить