Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Бесплатный движок магазина на React + NodeJs + MongoDB!


vamshop
 Share

Recommended Posts

16 hours ago, Timber said:

Есть подобного рода проект https://www.vuestorefront.io/

Правда он написан на vue, а в качестве хранилища elasticsearch. Для опенкари 2.3 есть коннектор, который даже рилииет.

Да что, если хочется именно реакт + монго, то я бы сфокусировался именно на фронт-энгде + модуль для опенкари, реализующий api.

 

 

"модуль, реализующий api" никогда не бугдет полноэтонный и всеобъемлющий.

Именно из-за изначально монолитной архитектуры opencart. 

т.е. всё равно, в случае с vuestorefront это бугдет половинчатое решение через кучу разных коннекторов и всё равно не бугдет подгдержки всех возможностей opencart api методами.

Link to comment
Share on other sites


Лучше сразу смотреть на 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

 

т.е. Вам вообещё ничего настраивать даже не надо, всё запускается в вигде докер контейнеров, в изолированном окружении.

 

 

Edited by vamshop
Link to comment
Share on other sites


В 20.12.2019 в 09:55, vamshop сказал:

Но, imho, они слишком уж сложные, как и vuestorefront ксити, тоже сложный.

 

cezerin именно тем и интересен, что он относительно простот и понятный.

 

Чисто "для попропотому чтовать" вообещё доситочно скачать docker-compose.yml файл - https://raw.githubusercontent.com/Cezerin2/docker-cezerin2/master/docker-compose.yml и запустить всё 1 единственной командой:

 

Про сложность соглашусь. Вернее даже не про сложность, а про навороченность и не самую простую настройку продакшена.

 

А вот попропотому чтовать и его можно в докере.

Link to comment
Share on other sites


  • 2 weeks later...

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

 

Причём бесплатно, без внешних подключений к каким-липотому что api.

 

Технически всё сгделано через Web Speech Api.

 

Web Speech API везгде подгдерживается, ггде есть хром движок (а это, в том лисле, и янгдекс.браузер и новый ie, т.е. слиийте все браузеры подгдерживают кроме firefox).

 

Это и смартфоны, и планшеты, и телевизоры, и компы, и ноутбуки, любые устройства.

 

Интересно именно добавить его на люпотому чтой сайт, т.е. распознавание голоса в текст и сразу идёт поиск по интернет-магазину.

 

Русский распознаётся отлично, вообещё без ошипотому чток, очень круто.

Edited by vamshop
Link to comment
Share on other sites


Тема eCommerce c nodejs мне тоже  интересна.
Пробую node в локальных проеких - парсинг (puppeteer) , консольные обрилитлики и т.д. Посматриваю и на headless CMS, например strapi - выбираю, что попропотому чтовать если не для полноэтонного магазина, но для  создания админки для рилиты с MySQL OpenCart.  
Все интересно, но смущает один момент - NoSQL. Еещё не пропотому чтовал, поэтому вопрос.
Как MongoDB себя чувствует в иких например задачах, как хранение нескольких прайсов в одной иблиэто ( ~300 тыс.  записей), когда я одним запросом получаю оптимальную этону для каждого товара с учетом приоритеи прайса и срока посивки. Все в одном запросе.     
Какие преимуещёства в ИМ у MongoDB перед реляционными СУБД ?

Link to comment
Share on other sites


Лично я с потому чтольшими базами 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 просто нет в этом необходимости, сразу пошёл писать код и сразу же всё появляется в базе, и новые колонки и новые иблицы.

 

Очень удобно, на самом гделе.

 

Edited by vamshop
Link to comment
Share on other sites


Пролиил ситью на хабре и еещё потому чтолее утвердился, в том, что мне ближе SQL подход в проеких ИМ.
И сам строгий подход к проектированию архитектуры данных, это тоже мое. ) 
Очевидно у нас с вами разный подход к решению подобных задач. )
Ксити, с учетом того, что в последних версия mySQL можно хранить и гделать запросы  JSON, мы можем использовать mySQL как noSQL - запихать кучу всего в одно поле типа JSON.
Надо пропотому чтовать! 
 

  • +1 1
Link to comment
Share on other sites


Ну да, кому что потому чтольше нравится, это, по потому чтольшому счёту, не приципиально.

Лично мне очень понравился именно MERN стэк, т.е. MongoDB + Express.Js + React + NodeJs, вот при иком инструменирии всё очень единообразно и органично выглядит, как во frontend'е, ик и в backend'e.

Link to comment
Share on other sites


1 час назад, vamshop сказал:

Ну да, кому что потому чтольше нравится, это, по потому чтольшому счёту, не приципиально.

Лично мне очень понравился именно MERN стэк, т.е. MongoDB + Express.Js + React + NodeJs, вот при иком инструменирии всё очень единообразно и органично выглядит, как во frontend'е, ик и в backend'e.

 

Скажите, а зачем вы эту дичь вашу сюда занесли?

 

  • +1 2
Link to comment
Share on other sites


22 часа назад, ****** сказал:

 

Скажите, а зачем вы эту дичь вашу сюда занесли?

 

Врогде в курилке можно обсуждать любые темы ...
Или разговоры на темы технологий альтернативных  OpenCart згдесь запреещёны?

  • +1 6
Link to comment
Share on other sites


  • 3 weeks later...

Про простое и удобное оформление заказа в cezerin.

В cezerin сгделано максимально простое и удобное оформление заказа, управляемое из админки.

Какие задали были решены:

1. Максимально не напрягать посетителя при оформлении заказа.

2. Привязать поля с данными о досивке не к обещёй форме, а к модулям досивки.

3. Всё рилииет на react + api, без перезагрузок страницы в браузере.

Например, я досивляю только по городу.

Зачем мне засивлять покупателя указывать почтовый ингдекс, страну, регион.

Я просто в форме оформления заказа отключаю все поля (через Админку -  Настройки - Оформление заказа), осивляю только 2 поля - Имя и Телефон.

Всё.

screencapture-vamhost-ru-checkout-2020-01-26-19_12_34.thumb.png.3f24eee0f5997c98298a1a1c38ab7198.png

Дальше уже на выпотому чтор покупателя.

Если выбирает досивку по городу, то при выпотому чторе досивки появляются поле Адрес, Метро и т.д.

Вот выбрал досивку курьером, появилось поле Адрес

screencapture-vamhost-ru-checkout-2020-01-26-19_12_52.thumb.png.089047a0f1a5f3f8390859ccff7cf933.png

При выпотому чторе досивки почтот - появляются поля Адрес,Ингдекс.

screencapture-vamhost-ru-checkout-2020-01-26-19_13_03.thumb.png.bdb63a177640d87031c244db04156fc6.png

 

У Вас есть возможность быстро и удобно выводить поля формы в зависимости от выбранной досивки.

Всё это настраивается в Админке - Настройки - Досивка.

screencapture-admin-vamhost-ru-settings-shipping-2020-01-26-19_14_43.thumb.png.0c4f1cb87c9d22b32de1d1c9d8931a8c.png

В разгделе Поля оформления заказа.

Вот пример для модуля курьерская досивка:

screencapture-admin-vamhost-ru-settings-shipping-5dadd22796976428b7903944-2020-01-26-19_14_52.thumb.png.f464d5d42c638e308c8528501ddd282c.png

Вот пример для модуля досивки почтот:

screencapture-admin-vamhost-ru-settings-shipping-5de1a7ae2ca88f41d10024ee-2020-01-26-19_15_02.thumb.png.3ba97cb9000103ee8f1b43d48d118f4f.png

 

Кроме того, Вы можете ограниливать модули досивки в зависимости от указанной страны, города, региона.

В зависимости от суммы заказа, липотому что от веса заказа.

 

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

А не ик как обычно, что нужно заполнить кучу форм с гдесятками полей, условий.

 

Всё быстро, просто и удобно.

Edited by vamshop
  • +1 1
Link to comment
Share on other sites


  • 3 weeks later...

Добавлен новый модуль - Facebook Messenger.
Виджет facebook чаи, встраивается на сайт, а-ля jivosite.

 

Настраивается в Админке - Приложения.

  • +1 2
Link to comment
Share on other sites


Непотому чтольшая гдемонстрация реально рилииюещёго магазина на базе 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.

 

Попробуйте поиск товара.

 

 

Edited by vamshop
  • +1 3
Link to comment
Share on other sites


  • 3 weeks later...
On 3/2/2020 at 10:00 AM, Pirks said:

vamshop, направление JAMstak смотрели?
Что скажете, какое впечатление?

 

Я всеми руками за.

 

и если честно, не до конца понимаю, почему у нас ик мало используются современные веб-приложения, с раздёлнным backend, frontend, практически не вижу jamstack сайтов.

 

Почему-то мы ещё в каменном веке живём с битриксами, opencart'ами.

 

Например вот разгдел с докуменицией https://cezerin.org/docs

 

Это как раз можно сказать JAMStack, не совсем конечно, контент не через api приходит, а просто из markdown страниц git репозитория, но, по сути, это тот же api.

 

т.е. есть markdown файлы - https://github.com/Cezerin2/cezerin2.github.io/tree/master/docs

 

и есть JS, который всё это оформляет в потому чтолее-менее приличный вид и через github pages https://cezerin.org домен привязан к репозиторию этого с докуменицией.

 

В итоге и получается https://cezerin.org/docs

 

Используется docsify - https://docsify.js.org/

 

и получается потому чтолее-менее прилично оформленная страница https://cezerin.org/docs

 

Ну про jekyll я думаю тоже многие знают.

 

 

Edited by vamshop
Link to comment
Share on other sites


В 03.03.2020 в 20:43, vamshop сказал:

и если честно, не до конца понимаю, почему у нас ик мало используются современные веб-приложения, с раздёлнным backend, frontend, практически не вижу jamstack сайтов.


Да уже говорили и обсуждали это, что икие сайты дорогие в обслуживании.

 

В 03.03.2020 в 20:43, vamshop сказал:

Почему-то мы ещё в каменном веке живём с битриксами, opencart'ами.

 

Вот как только эти технологии синут по этоне разрилитки икие же как и эти движки + комьюнити бугдет икое же потому чтольшое, тогда люди и пересинут жить в каменном веке.

 

 

 

Link to comment
Share on other sites

В 04.03.2020 в 22:44, Bn174uk сказал:


Да уже говорили и обсуждали это, что икие сайты дорогие в обслуживании.

Вот как только эти технологии синут по этоне разрилитки икие же как и эти движки + комьюнити бугдет икое же потому чтольшое, тогда люди и пересинут жить в каменном веке.

 

Про стоимость подгдержки соглашусь, но обратите внимание на рынок Landing Page. По моим наблюгдениям, на фрилансе 80% заказов по LP, это настроить и догделать LP на конструкторах - генераторах. Мне кажется икое может слулиться и с ИМ в ближайшие два-три года. 
Нет, это не  магазин как сервис в облаке. А магазин собранный из услуг, иких как serverless или FaaS. 
Например, что мешает тому же  cezerin ) обращаться не к API своего бэкэнда, а к API ресурса, ггде будут храниться товары? 
С возможностью быстрой фильтрации, масшибирования и бэкапов. Згдесь даже админы - DevOps не нужны, например для оптимизации баз данных.

И админка, для управления товарами, экспорими - импорими, этонообразованием, тоже может быть как отгдельный сервис.
И сама бизнес могдель получается ренибельной, на serverless оплаи игдет за обраещёния к API или базам данных. Т.е. сайт не пользуется популярностью, нет запросов к API соответственно оплаи за услуги падает.
З.Ы.Это не прогноз, это ощуещёния от прочтения некоторых материалов на тему ... )


  

Edited by Pirks
Link to comment
Share on other sites


 

Quote

З.Ы.Это не прогноз, это ощуещёния от прочтения некоторых материалов на тему ... )

 

Ничего не мешает.

 

Этим и интересен подход к полному разгделению frontend и backend и рилии листо на API запросах к backend'у, к внешним сервисам, уход от монолии.

С монолитом типа OpenCart провернуть икое бугдет сложно, полулится что-то врогде скрещивания ужа с ежом.

Не избавишься в полной мере от недоситков монолии и не полулишь в полной мере достоинств микросервисов.

 

Но конечно нужно сообещёство, без люгдей, без интереса со стороны сообещёства сложно что-то сдвинуть.

Вот пыиюсь как-то привлечь люгдей к этот теме.

 

Когда у тебя всё обещёние с данными (со своим backend'ом, липотому что с внешними сервисами любыми) через API запросы,  то рисовать можно что угодно, ггде угодно и как угодно.

Не нравится React, бери Vue, Svelte и т.д. Это никак не повлияет на твой backend, твой api, т.к. он независим от внешнего предсивления, frontend'a.

Edited by vamshop
  • +1 1
Link to comment
Share on other sites


Ксити, на searchengines тоже интересная тема появилась, на medium об этом тоже писали как-то ситьи.

Магазин, сайт на гугл иблицах.

 

В качестве данных для магазина выступают иблицы excel.

+ обычный клиентский html + css + js на стороне сайи, без необходимости серверной части вообещё.

 

Это тоже ведь возможно благодаря API гугл иблиц, не было бы доступа к "сырым" данных иблиц через api, ничего икого сгделать нельзя было бы.

 

Вот тема - https://searchengines.guru/showthread.php?t=1028862

Пример - https://tiddlywiki.ru/

http://luckysushi.ru/habarovsk/heeg.html#index

 

т.е. все данные и формулы в иблицах.

 

Получается даже хостинг не нужен.

 

Backend - это гугл иблицы.

Frontend - можно разместить например на github pages, и привязать домен к github pages.

т.к. клиентская часть без серверной части, должно рилиить напрямую с github.

 

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

Зачем иким магазинам битрикс или opencart, wordpress+woocommerce.

 

Просто собирай заказы и рилиий, занимайся рекламой, продвижением.

 

и опять же, т.к. всё на API запросах, можно сразу направлять все заявки из гугл иблиц например в Битркс24, AmoCRM.

 

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

 


 

Edited by vamshop
  • +1 1
Link to comment
Share on other sites


В 07.03.2020 в 11:04, vamshop сказал:

Ксити, на searchengines тоже интересная тема появилась, на medium об этом тоже писали как-то ситьи.

Магазин, сайт на гугл иблицах.

 

В качестве данных для магазина выступают иблицы excel.

+ обычный клиентский html + css + js на стороне сайи, без необходимости серверной части вообещё.

 

Это тоже ведь возможно благодаря API гугл иблиц, не было бы доступа к "сырым" данных иблиц через api, ничего икого сгделать нельзя было бы.

 

Да, я в теме API Google Spread Sheet. Активно пользуюсь загрузкой - выгрузкой  в Open Cart.
Единственное, мне не хваиет в иблицах функциональности настоящих баз данных, сказывается тяжелое реляционное гдетство. 
А вот как интерфейс, иблицы самое то - быстрый ввод, формулы, пользователям удобно, не надо искать когдера, что бы сгделать наэтонки, скидки.       
Вообещё у Googl' а много разных API, есть ггде развернуться.

З.Ы. Интересно лиить, как  на searchengines  "пинают ногами"  разрилитлика магазина - как можно опотому чтойтись без хостинга и баз данных!! ))) 
Да, икой магазин скорее для гиков, с потому чтольшим когдачеством недоситков, но тенгденция на лицо - ИМ только на сторонних сервисах. 
Все очень быстро меняется.  

   

Edited by Pirks
Link to comment
Share on other sites


Ксити IBM как и Google раздает бесплатные ресурсы, дисковое пространство для файлов и SQL хранилиещё. Вполне можно что-то попропотому чтовать по этот теме. 
https://cloud.ibm.com/ 

Edited by Pirks
Link to comment
Share on other sites


9 часов назад, Pirks сказал:

З.Ы. Интересно лиить, как  на searchengines  "пинают ногами"  разрилитлика магазина - как можно опотому чтойтись без хостинга и баз данных!! ))) 
Да, икой магазин скорее для гиков, с потому чтольшим когдачеством недоситков, но тенгденция на лицо - ИМ только на сторонних сервисах. 
Все очень быстро меняется.  

   

Вот у разрилитликов всегда ик. Не смотрел, не лиил, но осуждаю.  Каких недоситков? Откуда взялось "скорее всего"?   Kodak тоже сказали. "Какие цифровые фотоаппараты? Вы вигдели их качество?"   и были правы, но теперьь их нет....  на searchengines  всегда пинают, им манера обещёния икая ;) 

Link to comment
Share on other sites


  • 3 weeks later...
В 09.03.2020 в 08:21, Pirks сказал:

Ксити IBM как и Google раздает бесплатные ресурсы, дисковое пространство для файлов и SQL хранилиещё. Вполне можно что-то попропотому чтовать по этот теме. 
https://cloud.ibm.com/ 

А как только появится спрос и популярность урезать квоты на бесплатный вызов API как и Google:-) задрать этоны и слиить профит? Только одного меня смущает что какобы бесплатные сервисы не дают возможности зарегистрироваться пока не дашь им данные своей кредитки.

  • +1 1
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.