Jump to content

vamshop

Новичок
  • Content Count

    0
  • Joined

  • Last visited

Community Reputation

15 Хороший

1 Follower

About vamshop

  • Rank
    Новичок

Recent Profile Visitors

689 profile views
  1. Небольшая демонстрация реально работающего магазина на базе Cezerin. https://plasha.ru PWA магазин, никакого PHP, MySQL, никаких монолитов. Полное разделение frontend и backend. 100% на JavaScript: и Frontend (React + API), и Backend (NodeJS). API-центричное веб-приложение на микросервисах. Современный дизайн на базе Figma. Обратите внимание, как быстро работает сайт. Например попробуйте фильтр по цене на странице - https://plasha.ru/kategoriya-3 Попробуйте подгрузить больше товаров кнопкой Показать ещё на странице. Посмотрите в консоли разработчика в браузере хром, как всё выглядит и как работает. В отличии от OpenCart, нет лишних запросов и прорисовок. Через API получаем "сырые" данные в JSON формате и отрисовываем их в React. Попробуйте поиск товара.
  2. Про простое и удобное оформление заказа в cezerin. В cezerin сделано максимально простое и удобное оформление заказа, управляемое из админки. Какие задачи были решены: 1. Максимально не напрягать посетителя при оформлении заказа. 2. Привязать поля с данными о доставке не к общей форме, а к модулям доставки. 3. Всё работает на react + api, без перезагрузок страницы в браузере. Например, я доставляю только по городу. Зачем мне заставлять покупателя указывать почтовый индекс, страну, регион. Я просто в форме оформления заказа отключаю все поля (через Админку - Настройки - Оформление заказа), оставляю только 2 поля - Имя и Телефон. Всё. Дальше уже на выбор покупателя. Если выбирает доставку по городу, то при выборе доставки появляются поле Адрес, Метро и т.д. Вот выбрал доставку курьером, появилось поле Адрес При выборе доставки почтой - появляются поля Адрес,Индекс. У Вас есть возможность быстро и удобно выводить поля формы в зависимости от выбранной доставки. Всё это настраивается в Админке - Настройки - Доставка. В разделе Поля оформления заказа. Вот пример для модуля курьерская доставка: Вот пример для модуля доставки почтой: Кроме того, Вы можете ограничивать модули доставки в зависимости от указанной страны, города, региона. В зависимости от суммы заказа, либо от веса заказа. В итоге, оформления заказа получается простым и удобным, у покупателя запрашивается только необходимая информация и только тогда когда это нужно. А не так как обычно, что нужно заполнить кучу форм с десятками полей, условий. Всё быстро, просто и удобно.
  3. Ну да, кому что больше нравится, это, по большому счёту, не приципиально. Лично мне очень понравился именно MERN стэк, т.е. MongoDB + Express.Js + React + NodeJs, вот при таком инструментарии всё очень единообразно и органично выглядит, как во frontend'е, так и в backend'e.
  4. Лично я с большими базами MongoDB дел ещё не имел пока что, для меня тоже MongoDB новая база. Но, судя по новостям, когда постоянно находят открытые базы mongodb с миллионами записей, это не проблема у MongoDB, это уже проверенное временем решение и используется много где. Вот есть статья про сравнение mysql и mongodb - https://habr.com/ru/post/322532/ Там хорошие примеры кода. imho, основное - это формат данных - json Раз весь проект на JavaScript и всё описывается в json формате, то логично и базу данных тоже использовать, которая изначально работает в json формате, просто так удобнее. Единообразие кода. Другой удобный момент MongoDB применительно к веб-сайтам, движкам, которые берутся за основу своих разработок, это так называемая schemaless база данных, т.е. отсутствие необходимости изначально создавать структуру таблиц, это добавляет гибкости в работе и это очень удобно если процесс изменений сайта, базы постоянный, постоянно добавляется таблицы, новые колонки в таблицы и т.д., очень удобно всё без необходимости добавлять/менять структуру таблиц. В целом, в принципе, сейчас всё одинаково, по большому счёту, без разницы, sql, nosql. Для не сильно сложных проектов вообще не принципиальный вопрос, лично моё imho, какая база данных. Тут больше вопрос в удобстве и MongoDB отлично дополняет набор из api центричности, 100% js кода, react кода, т.е. MongoDB не выглядит каким-то инородным кодом внутри проекта со своим sql синтаксисом, как это было бы в случае с mysql. Те же таблицы (коллеции), те же индексы в таблицах, те же запросы в базу insert, update, delete. Просто в MongoDB всё это сразу идёт в json формате, запросы и ответы, без необходимости заранее определять структуру таблиц, полная свобода действий, ты просто не думаешь о базе своей, а занимаешься кодом, развитием проекта. Это очень удобно, особенно в случае api-центричного веб-приложения, когда постоянно добавляются новые методы в api, добавляется новая функциональность на сайт. Ты занимаешься именно развитием сайта, а не постоянными раскопками в таблицах, схемах таблиц, смотришь, а что можно записывать в эту колонку, можон ли сюда текст писать или только числа, влезет ли в колонку большой текст с описанием товара, или не влезет, и придётся лезить в базу данных и менять, к примеру, тип колонки с TEXT на LONGTEXT, что б всё поместилось, нужно чот-то добавить новое - опять придётся лезть с базу, добавлять тут колонку, добавлять там колонку, добавлять тут таблицу и т.д. В MongoDB просто нет в этом необходимости, сразу пошёл писать код и сразу же всё появляется в базе, и новые колонки и новые таблицы. Очень удобно, на самом деле.
  5. Голосовой поиск интересен тем, что распознавание голоса в текст добавлено в поиск интернет-магазина, т.е. добавлять можно в любой сайт. Перевод голоса в текст и затем уже обычный поиск по тексту на любом сайте. Причём бесплатно, без внешних подключений к каким-либо api. Технически всё сделано через Web Speech Api. Web Speech API везде поддерживается, где есть хром движок (а это, в том числе, и яндекс.браузер и новый ie, т.е. считайте все браузеры поддерживают кроме firefox). Это и смартфоны, и планшеты, и телевизоры, и компы, и ноутбуки, любые устройства. Интересно именно добавить его на любой сайт, т.е. распознавание голоса в текст и сразу идёт поиск по интернет-магазину. Русский распознаётся отлично, вообще без ошибок, очень круто.
  6. Лучше сразу смотреть на api центричные решения. Например есть похожие на cezerin проекты: reactioncommerce.com saleor.io Но, imho, они слишком уж сложные, как и vuestorefront кстати, тоже сложный. cezerin именно тем и интересен, что он относительно простой и понятный. Чисто "для попробовать" вообще достаточно скачать docker-compose.yml файл - https://raw.githubusercontent.com/Cezerin2/docker-cezerin2/master/docker-compose.yml и запустить всё 1 единственной командой: docker-compose up Весь необходимый софт (база данных, веб-сервер, nodejs) выкачивается, настраивается, сам cezerin выкачиваетя с github, всё скомпилируется и запускается, всё автоматически, "руками" ничего делать не надо. В общем, я в документации вот писал об этом всём, там и видео есть - https://cezerin.org/docs/#/using-docker т.е. Вам вообще ничего настраивать даже не надо, всё запускается в виде докер контейнеров, в изолированном окружении.
  7. "модуль, реализующий api" никогда не будет полноценный и всеобъемлющий. Именно из-за изначально монолитной архитектуры opencart. т.е. всё равно, в случае с vuestorefront это будет половинчатое решение через кучу разных коннекторов и всё равно не будет поддержки всех возможностей opencart api методами.
  8. В этом уже нет смысла. Сейчас делается ещё проще и ещё интереснее. Магазин приложений Google Play начал недавно принимать PWA приложения в свой магазин, после того как гугл добавил поддержку TWA (Trusted Web Activity), т.е. Вам не надо писать нативный код. Вот смотрите живой пример, можете установить себе приложение на телефон - https://play.google.com/store/apps/details?id=xyz.appmaker.aqckvs Это как раз и есть cezerin2 демка vamhost.ru и админка admin.vamhost.ru в виде приложения - https://play.google.com/store/apps/details?id=xyz.appmaker.girszc Просто pwa приложение cezerin2 упакованное в apk сборку, причём полностью автоматическая сборку, даже android studio к себе устанавливать не надо, главное, что б у Вас был запущенный сайт на cezerin2. Вам не надо вести отдельный код для андройда, что-то писать для андройда, использовать react native и т.д. и т.п. Если у Вас cezerin2, всё, это уже считайте у Вас готовое приложение для андройда. и причём для этого не пришлось писать ни единой строки прграммного кода для андройд. А самое интересное - что Вам не надо выпускать обновления в google play, снова прходит модерацию, ждать одобрения новой версии. т..е один раз добавившись в google play, Вы просто меняете свой сайт, улучшаете, добавляете новую функцональность, и всё, всё это сразу доступно всем Вашим пользователям, без выпуска обновлений в google play, потому что размещение apk архива в google play - это, по сути, просто обёртка для Вашего сайта. Но, к этой обёртке применяются все требования google play + процедура установки/удаление приложения не отличается ничем от обычных приложений, что очень важно, для привычного пользовательского опыта. Все знают как ставятся, удаляются приложения, так же и Ваш сайт (cezerin2 pwa) будет устанавливаться/удаляться на смартфоны по стандартной схеме через магазин приложений, привычный всем пользователям смартфона.
  9. Это именно то, о чём я говорю. Когда движок изначально создаётся как монолит, будь то opencart или wordpress, то нельзя сделать такую тему как Вы хотите. Просто другая архитектура приложения. Нет необходимых API методов, если коротко, нельзя на 100% данные отделить от представления и поэтому нельзя сделать такую тему в движке монолите, нельзя сделать ни в wordpress, ни в opencart, т.к. ни там, ни там нет 100% охвата функциональности движка API методами. Это отлично видно на примере всяких react, pwa шаблонов для wordpress, opencart. Скрещивают ужа с ежом и в итоге ничего хорошего не получается, т.е. ни то, ни то, не получается уйти от проблем монолита и не получается получить все преимущества api центричного подхода. Поэтому и говорю, что все преимущества можно получить только написав с нуля прежде всего API, backend, и затем уже имея API для всего, можно сделать любой шаблон, внешний вид, frontend, на чём угодно, хоть монолит, хоть react. хоть vue. Именно потому что данные на 100% отдедены от представления, в монолите это нереально. Вот cezerin2, о котором я пишу в этой теме - это и есть прежде всего API, т.е. backend. Любой чих, любое движение - всё делается через API метод. Благодаря чему полностью и на 100% отделены данные от представления, т.е. от внешнего вида. Ни в wordpress, ни в opencart такого нет. Максимум, можно состряпать мутанта, частично микросервисного, api центричного, частично монолитного. Но это не интересно и не даёт всех преимуществ PWA/SPA подхода к веб-приложению. А в cezerin2 всё крутится вокруг API, т.е. и админка и каталог, на 100% api центричны. И самое главное - cezerin2 - это готовый проект, где есть и API, и frontend: и каталог, и админка и учтено SEO, именно для SEO-friendly сделан SSR (Server Side Rendering) код для каталога, для правиьной индексации каталога поисковиками. Сколько подобных проектов не находил, они все половинчатые, решают только какой-то один вопрос, например дают только "сырой" API, т.е. чисто backend, без внешнего видна вообще, максимум ещё дают админку. Но что б это был комплекс, как в cezerin2, готовый к работе, таких проектов открытых я не видел. Единственное, что можно выделить, это saleor, но он не на 100% JavaScript, т.е. там разные языки, backend у них на python. Да, проект тоже очень интересный и развивается хороше, есть смысл тоже посмотреть. Но у них админка тоже монолитная, pwa админка только в статус alpha или beta, не помню. Да, я согласен что MERN стэк сложный по сравнению с PHP+MySQL. Но сейчас все переходит именно на такой pwa/spa подход и от этого не уйти, это даже не будущее, это уже настоящее. Нет, mysql хуже. MongoDB - это schemaless база данных, не блокирующая база данных. Просто если поработете с MongoDB, поймёте, насколько это удобней и быстрее. Чем постоянно возиться со структурой базы данных, создавая таблицы, колонки и т.д. и т.п. jQuery умирает вместе с монолитными приложениями, потому что если Вы используете реакт, если уж совсем упрощать, то у Вас вся страница динимическая вся работа проходит как бы внутри страницы, а если используете jQuery - у Вас лишь частичная интерактивность странице. Поэтому jQuery и не используется если у Вас приложение на реакте, он там просто не нужен. jQuery хорош, но реакт - это совсем другой уровень, вся движуха проходит внутри страницы, Вам не надо отправлять лишние ajax запросы, перезагружать страницу в браузере и т.д. и т.п., всё происходит внутри, без перезагрузок и очень быстро. Можете демку админки cezerin2 посмотреть, к примеру, https://admin.vamhost.ru , она без перезагрузок страницы в браузере, на 100% клиентское приложение выполняемое в браузере посетителя, благодаря чему всё намного проще, удобнее и быстрее чем в админке opencart. Да, я согласен, что нет практически community, кроме чата cezerin2 в slack Я надеюсь, что получится заинтересовать пользователей и из этого что-то выйдет, может второй opencart на базе чистого JS Тот же яндекс все свои сервисы давно и планомерно переводит на api-центричные приложения. Маркет, беру, зен, директ + все остальны его сервисы сейчас переписываются на микро-сервисы.
  10. Всегда рады новым пользователям, да даже если просто учитесь на примере cezerin2 - уже хорошо. В cezerin2 используется как раз самый популярный технический стэк на сегодняшний день - MERN (MongoDB + ExpressJS + React + NodeJS). Да и вообще, самый популярный язык программирования по версии github - JavaScript, причём с большим отрывом, всё самое интересное уже давно происходит в мире JavaScript, а не в мире PHP. Да, действительно, это совсем иной подход к веб-приложениям, если сравнивать монолит opencart php+mysql и api центричный cezerin2. Получить преимущества NodeJS + React + NPM + WebPack можно только если полностью с нуля всё написать новыми методами и подходами, от частичной реализации тех или иных подходов не будет целостной картины. Да, в opencart тоже есть api, но он не позволяет реализовать полностью всю работу магазина исключительно через api, запросами к api, api сильно ограничен. OpenCart сделан в виде монолита и в нём просто не получится использовать все преимуещества нового подхода к pwa приложениям. Так что да, я считаю, что именно api центричный подход - это правильный подход и opencart - это морально устаревший движок, я не говорю, что плохой, но веб развивается в совсем другом направлении и cezerin2 ему больше соответствует.
  11. Добавлена поддержка картинок в модуль импорта товаров из гугл таблиц. Добавлен новый репозиторий в github - github.com/cezerin2/cezerin2-mono В котором движок сделан в виде единого приложения. т.е. по умолчанию есть 3 приложения: api, frontend, dashboard. Все скачиваются и запускаются по отдельности. Что не так уж и удобно. Вот репозиторий cezerin2-mono как раз позволяет запустить всё хозяйства единым приложением, выполнив в консоли команду: npm i && npm run build && npm start и готово.
  12. Добавлен новый модуль - Импорт товаров в cezerin из Google Sheets. т.е. можно массово загружать товары в магазин из таблиц google, excel и т.д.
  13. С недавнего времени Google разрешил добавлять в свой магазин приложений Google Play так называемые PWA приложения, т.е. прогрессивные веб приложения. Что такое PWA приложения и причём здесь cezerin?! Цитата из wikipedia: Прогрессивное веб-приложение (англ. — progressive web app, PWA) — технология в веб-разработке, которая добавляет сайтам возможности приложений для мобильных устройств. В частности, PWA обладают такими признаками: Устанавливаются на смартфоны или планшеты пользователей. Работают в режиме офлайн благодаря кэшированию контента. Доставляют пользователям пуш-уведомления. Если совсем коротко — PWA приложение — это обычный веб-сайт, с адаптивным шаблоном. Что это значит для пользователей Cezerin?! Это значит, что Вы можете увеличить аудиторию своих интернет-магазинов, работающих на базе Cezerin за счёт размещения своего интернет-магазина в виде приложения в магазине приложений Google Play. Сразу покажу пример, как это выглядит на практике, на примере Cezerin. Вот посмотрите демонстрационный сайт с Cezerin PWA — vamhost.ru А теперь возьмите телефон и через магазин приложений Google Play установите приложение, адрес приложения https://play.google.com/store/apps/details?id=xyz.appmaker.aqckvs Магазин будет отображаться точно так же как в браузере, по сути, приложение - это просто обёртка для Вашей веб-версии. Теперь Вам не надо тратить лишние средства на написание своего мобильного приложения. Ваш работающий магазин на базе Cezerin — это и есть уже готовое прогрессивное веб-приложение. Всё очень просто, не надо нанимать компании, программистов, чтобы они Вам разработали отдельное приложение, написали так называемый нативный код, под конкретную операционную систему, в данном случае Android, не надо нести расходы на поддержку этого приложения, обновление, выпуск новых версий, на публикацию в магазине приложений. Благодаря современным подходам к разработке, Ваш магазин на базе Cezerin уже по умолчанию является готовым приложением. Какие преимущества Вы получаете, добавляя свой магазин в виде приложения в Google Play: Потенциально больший охват целевой аудитории. Не все используют браузер на смартфоне, как бы странно это ни звучало. Многие просто заходят в магазин приложений Google Play и скачивают приложение, не догадываясь даже, что в магазин можно зайти просто открыв браузер и набрав адрес. Нет необходимости помнить адрес магазина, иконка приложения всегда на видном месте на рабочем столе смартфона. Иконка Вашего магазина всегда перед глазами пользователя смартфона, на рабочем столе. Нет необходимости в привлечении сторонних компаний, разработчиков, программистов. Вам магазин — сам по себе уже готовое приложение. Нет необходимости писать отдельное приложение для смартфонов. В случае с написанием отдельного приложения Вам потребуются ресурсы на проектирование, разработку, выпуск новых версий, поддержку, обновление. Ничего этого не надо делать в случае если у Вас уже есть работающий магазин на базе Cezerin. Любые изменения в Вашем магазине — будут моментально доступны в приложении на смартфонах пользователей. В отличии в обычных приложений, Вам не надо выпускать обновления, выпускать новую версию приложения, если у Вас на сайте что-то поменялось. Всё доступно онлайн, в режиме реального времени. Изменили оформление на сайте, добавили товары, добавили скидки, акции, новости, всё это сразу же доступно в смартфоне пользователя. Нет необходимости выпускать новую версию приложения, ждать пока приложение будет проверено, пройдёт модерацию гугла, станет доступным обновление в google play. Работает в офлайн режиме Даже если у Вас нет интернета на телефоне или компьютере, Ваш магазин будет доступен в таком случае для всех пользователей. Как минимум, будут доступны все контактные данные магазина. Даже в случае технических проблем, посетителю всегда будут доступны Ваши контакты, и, к примеру, посетитель всегда сможет связаться с Вами и сделать заказ по телефону, даже если у Вас магзаин в нерабочем состоянии по каким-либо причинам.
  14. Рабочая демка сейчас на vamhost.ru и admin.vamhost.ru Чуть позже восстановлю демки на cezerin.ru и cezerin.org Сейчас там просто сайты с информацией о cezerin и ссылки на github, чат в slack и т.д.
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.