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

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