NodeJs e-commerce solution?

6,202 views
Skip to first unread message

Hakan Guzelgoz

unread,
May 10, 2012, 2:55:51 PM5/10/12
to nod...@googlegroups.com
Hi all,

I've been searching and searching but couldn't find any project/open source node e-commerce platform. As I am running some e-commerce websites using the PhP prestashop solution, I was really hoping to find some sort of e-commerce project but Nada!

Ideally, I would like to use Expressjs and MongoDB. Do you know any e-commerce project that I could participate?

If not, I would like to invite anybody to start a project. I think it would have great interest and at least I would participate to it - as a novice node programmer ;) but a serious user that may help on what is needed.

Looking forward to your feedbacks!
Thanks,
Hakan

gig

unread,
May 13, 2012, 12:03:37 AM5/13/12
to nod...@googlegroups.com
hii . 

i am into developing a payment gateway using node.. looking forward for discussion regarding the same . 

With Regards, 
gig

Adem Aydin

unread,
May 13, 2012, 3:00:46 PM5/13/12
to nod...@googlegroups.com
Selam Hakan,

I'd be really interested in a cooperation as an opportunity to dive into node.js. Unfortunately I currently only have a basic understanding of node.js. If you are OK with a partner who wants to take the "learning by doing" approach I'd be glad to work on this one.

Cheers,
Adem

jmartins

unread,
May 15, 2012, 1:56:26 PM5/15/12
to nod...@googlegroups.com

+1

Hakan Guzelgoz

unread,
May 16, 2012, 9:43:49 AM5/16/12
to nod...@googlegroups.com
I am ok with "learning by doing" approach. 
I think it would be a good start to build a simple website with products, a simple cart that sells these products. I would as much as possible keep things basic and simple so that it can grow up with time. I would suggest to go ahead with Mongo as DB.


--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Dave Clements

unread,
May 16, 2012, 9:54:58 PM5/16/12
to nod...@googlegroups.com
if its orders/payment data you might want to go with couchdb. If mongodb crashed theres a fair chance of data loss because it operates in RAM and periodically stores to disk. In this case that loss can be directly mapped to financial loss. There are ways to set mongo up that gaurd against this, but thats beyond the scope of the module

Marcos Vinicius de Camargo Marcon

unread,
May 16, 2012, 11:02:12 PM5/16/12
to nod...@googlegroups.com
Hi!
I'm interested, and just as Adem said "learning by doing" would like to be part of this project.
I am developing a web application focused on measuring the experience of User in any possible scenario
Thank!

Anand George

unread,
May 16, 2012, 11:04:11 PM5/16/12
to nod...@googlegroups.com
For payments you might consider node-stripe - https://github.com/abh/node-stripe.git Also checkout this nice tutorial on setting it all up -  http://www.catonmat.net/blog/stripe-payments-with-node/ 

On Thu, May 17, 2012 at 7:24 AM, Dave Clements <hupere...@googlemail.com> wrote:
if its orders/payment data you might want to go with couchdb. If mongodb crashed theres a fair chance of data loss because it operates in RAM and periodically stores to disk.  In this case that loss can be directly mapped to financial loss. There are ways to set mongo up that gaurd against this, but thats beyond the scope of the module

Mark Miller

unread,
May 17, 2012, 12:17:57 AM5/17/12
to nod...@googlegroups.com
Any plans to support bitcoin payments?

--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en



--
Text by me above is hereby placed in the public domain

  Cheers,
  --MarkM

jmartins

unread,
May 18, 2012, 12:07:56 PM5/18/12
to nod...@googlegroups.com

Why not use a graphos database like Neo4J ?
It's awesome to crossales, upsales, promotions, etc...

tks
João


Em quinta-feira, 17 de maio de 2012 01h17min57s UTC-3, MarkM escreveu:
Any plans to support bitcoin payments?

On Wed, May 16, 2012 at 8:02 PM, Marcos Vinicius de Camargo Marcon <marc...@gmail.com> wrote:
Hi!
I'm interested, and just as Adem said "learning by doing" would like to be part of this project.
I am developing a web application focused on measuring the experience of User in any possible scenario
Thank!

Em quarta-feira, 16 de maio de 2012 22h54min58s UTC-3, Dave Clements escreveu:
if its orders/payment data you might want to go with couchdb. If mongodb crashed theres a fair chance of data loss because it operates in RAM and periodically stores to disk.  In this case that loss can be directly mapped to financial loss. There are ways to set mongo up that gaurd against this, but thats beyond the scope of the module

--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Meaglith Ma

unread,
May 18, 2012, 10:30:43 PM5/18/12
to nod...@googlegroups.com
I am very interesting it, and who wanna develop a opensource project about e-commerce with Nodejs and MongoDB?


For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en



--
-------------------------------------------------------
马全一
Meaglith Ma <gen...@gmail.com>
绅士的精神气质应该包括骑士般的勇气、服务公众的道德意识。
建立于坚定沉着基础上的沉默性格,
以及即使处于极端困难的境地也永远不变的谦恭礼貌。
-------------------------------------------------------

Alexey Petrushin

unread,
May 18, 2012, 10:43:29 PM5/18/12
to nod...@googlegroups.com
Neo4j - it's interesting, but .... not very usable, it's still unknown, very java-oriented (REST API is orders of magnitude slower than native Java API,  docs are big, complicated and too "javish"), it has very small user base with very specific use cases.

Marcos Vinicius de Camargo Marcon

unread,
May 19, 2012, 12:37:40 AM5/19/12
to nod...@googlegroups.com
Then when we started? 

Shogun

unread,
May 19, 2012, 7:59:18 AM5/19/12
to nod...@googlegroups.com
Hi, 

I'm also interested in this project.

Have a look on my framework [https://github.com/shogun147/Katana]
It could be good alternative to Express, especially for building such project or any cms like solution.

Good luck!

Adam Reynolds

unread,
Sep 26, 2012, 10:43:00 AM9/26/12
to nod...@googlegroups.com
You need an ACID compliant DB back end for e-commerce. As far as I am aware MongoDB is not to be used for e-commerce. Use the right tool for the right job :)

On Wed, Sep 26, 2012 at 3:33 PM, Moritz Beller <beller...@googlemail.com> wrote:
katana looks great; im familiar w/ express, but nvm.  Im also interested.. anyone wants to grab the scepter and lead us the way?  :))))


Am Donnerstag, 10. Mai 2012 20:55:51 UTC+2 schrieb guzelgoz:

--

Moritz Beller

unread,
Sep 26, 2012, 11:12:00 AM9/26/12
to nod...@googlegroups.com
What about VoltDB ?
 "[...]that scale to millions of operations per second while providing full support for ACID transactions."

Adam Reynolds

unread,
Sep 26, 2012, 11:16:29 AM9/26/12
to nod...@googlegroups.com
E-commerce is a very odd beast. Your choice, but tbh I'd be moving towards MySQL/Postgre/etc etc. Boringly solid DBs with years of proven experience and the tool set in place to let you just get on with delivering a decent front-end experience.

shawn wilson

unread,
Sep 26, 2012, 1:08:30 PM9/26/12
to nod...@googlegroups.com
since i've seen it brought up twice, iirc mongo has an option to save direct to disk to allow for power failure and such. however, since there are hadoop, mongo, couch, redis, and dozens of lucene based solutions, maybe a payment system should be more db agnostic unless you want to alienate people?

i'd think you'd want to a pluggable tool chain type solution. so you say you need some basic schema information, an express type middleware processing solution (process tax, process s/h, inventory logic, warehouse scheduling, reciept, update user profile) and a (err, cb) for each step.

if you mandate i use couch, mysql, pg, ora, or anything else, i won't use it. i won't bother learning it because even if you like the same db as me, maybe next week i'll talk with someone that says "i've got x db" - if you didn't program for x db (or i don't like x db), i'm going to refuse $$.... i don't think so.

Vinayak Mishra

unread,
Sep 26, 2012, 1:46:15 PM9/26/12
to nod...@googlegroups.com
Dear all,

We at Urbantouch (www.urbantouch.com), an Indian e-commerce startup,
have built a tailor-made node.js e-commerce platform/frontend/crm,
logistics backend.

It's been 6 months we ditched magento platform for the home-grown
node.js setup, needless to say we're delighted with the performance.
It's an expressjs application supplemented by numerous node modules,
mysql, redis, last but not least, a lot of node.js goodies! We are
thrilled with the fact that we were able to go into production in quick
span of time with a young team.

Regards,
Vinayak

Alexey Petrushin

unread,
Sep 26, 2012, 5:07:19 PM9/26/12
to nod...@googlegroups.com
> that scale to millions of operations per second
He-he, I believe, if Your e-commerce solution will have such load - You may easily hire as many developers and do as many databases, simultaneously as You wish :)

>  We at Urbantouch (www.urbantouch.com), an Indian e-commerce startup,  ....
Nice site, clean, simple and compact design, like it, by the way why did You drop magento, what features do You wanted/missed?

Vinayak Mishra

unread,
Sep 26, 2012, 5:19:34 PM9/26/12
to nod...@googlegroups.com
I feel no shame at admitting we are no good at creating eye-catching designs, hence no fancy stuff, just a simple design and straight to the point. We had to do away with magento system because it wasn't good at handling a lot of load. We also had to come up with a in-house solution and were pretty impressed with exciting prospect Node.js offered.

The current single server app is capable of handling twice the traffic with much ease what multiple servers we had magento running on were not able to. Site speed improved, user engagement improved a lot, better conversion rates, backend consoles became faster, the list goes on. Yes, we could line up more servers, tune the servers to handle more load, we chose to spend time/effort in Node.js rather.

-- Vinayak
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

-- 
Regards,
Vinayak

John Fitzgerald

unread,
Sep 26, 2012, 5:35:46 PM9/26/12
to nod...@googlegroups.com
Great implementation - it's very snappy compared to Magento, especially in basket during checkout actions.

I was going to suggest similar to what you I think you're doing, a boring relational database fronted by nosql. 

-John
John R. Fitzgerald


greelgorke

unread,
Sep 27, 2012, 5:32:44 AM9/27/12
to nod...@googlegroups.com
@Nicotene: can some take a look the code. open sourced or licenzed?

Vinayak Mishra

unread,
Sep 27, 2012, 5:39:04 AM9/27/12
to nod...@googlegroups.com
Thanks for showing interest, greelgorke. The nodestore code is proprietory, and not available on as open source yet. We have created few independent npm modules that could be useful to other projects, we would like to publish some of these modules on npm some day. But at the moment, we are being a little selfish, sorry about that.

-- Vinayak

greelgorke

unread,
Sep 27, 2012, 5:46:18 AM9/27/12
to nod...@googlegroups.com
i'm looking forward to it. just interested about it, if it can be easily customized. but the modules might be grate too :)

Abramovick

unread,
Sep 27, 2012, 11:25:23 AM9/27/12
to nod...@googlegroups.com
I was just about starting to build something similar. So count me in.
However, lets make it more realistic, n actually start doing it. coz i've seen alot of people who are interested to contribute, so you should actually take the lead, n tell us wat to do next.

Abraham Itule 

Adam Reynolds

unread,
Mar 1, 2013, 4:28:05 AM3/1/13
to nod...@googlegroups.com
As I think has been mentioned before you should not be using MongoDB for e-commerce. 

Kevin Jones

unread,
Mar 1, 2013, 5:19:57 AM3/1/13
to nod...@googlegroups.com

On Friday, March 1, 2013 9:28:05 AM UTC, Adam Reynolds wrote:
As I think has been mentioned before you should not be using MongoDB for e-commerce. 


While mongo is probably not the simplest choice when you really want transactions I have found you can implement a client controlled locking model to support atomic operations generically. I do this in a module called 'shared' I have been working on for distributed objects sharing between processes that uses mongo as a persistence layer. The downside is that because locks are client controlled you need to consider how to recover from a process failure while a lock is being held. While this is works, I don't know yet if you can do it without significant performance impact. 

Adam Reynolds

unread,
Mar 1, 2013, 5:39:54 AM3/1/13
to nod...@googlegroups.com
Just do the e-commerce bit in an ACID compliant db engine. 

If you want to move a 20 tons of dirt you don't use a sports car.


Alexey Petrushin

unread,
Mar 4, 2013, 5:57:03 AM3/4/13
to nod...@googlegroups.com
RDBMS or MongoDB? Whatever ... :)

Adam Reynolds

unread,
Mar 4, 2013, 6:18:50 AM3/4/13
to nod...@googlegroups.com
That's fine until you try and sell the system and somebody that understands the issues with using MongoDB as the back-end for a transactional problem freaks out and calls your technical know-how into question. :P


--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
 
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

CptSpaetzle

unread,
Sep 9, 2013, 9:31:40 AM9/9/13
to nod...@googlegroups.com
Hi everyone,

so any progress in this effort? I would also like to jump into node.js based e-commerce project. Have a little experience with node.js and a lot of MongoDb :)

BR,
Ivan

j...@team9.com.au

unread,
Sep 10, 2013, 8:54:02 AM9/10/13
to nod...@googlegroups.com
Hi Ivan,

I'm working on something that may be relevant... although it's based on express and mongoose, and as previously mentioned it may not be possible to build a truly robust eCommerce solution in mongo.

In the above-mentioned stackoverflow question, it looks like although it'd be wise to use an ACID compliant db for the project, it may also be possible in mongo if the right things are done (relating to system design), which would bring a lot of other benefits.

How does that match up with your experience in mongo?

Cheers,
Jed.

Adam Reynolds

unread,
Sep 10, 2013, 9:24:13 AM9/10/13
to nod...@googlegroups.com

Can we please stop this. The ecommerce bit of a shop needs to be acid compliant. You can try and work around this with code but you are still using the wrong tool for the job.

Stop playing buzzword bingo.

--

Ivan Zinchenko

unread,
Sep 10, 2013, 11:16:32 AM9/10/13
to nod...@googlegroups.com
Hi Jed,

from my perspective it should be fine using BASE instead of ACID storage for something like eCommerce. It just looks like way too many people cannot wrap their heads around idea that transactions are not always a "must have", when you put your data structures and code properly. So MongoDb might be exactly the type of tool you need.

btw, is the project you've mentioned open source? I'm thinking about investing some time in node.js+mongodb effort, and would prefer joining some work in progress instead of inventing the bicycle anew. 

Kind regards,
Ivan

Best regards,
Ivan.


--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
 
---
You received this message because you are subscribed to a topic in the Google Groups "nodejs" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/nodejs/h7Cs-41qVKU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to nodejs+un...@googlegroups.com.

Norman Paniagua

unread,
Sep 10, 2013, 11:35:41 AM9/10/13
to nod...@googlegroups.com
I think if you want a balance between nosql and rdbms take a look at Postgres, seems to be a robust db with many years in the market, that supports objects and relational data.

But to me the most logical way to go its to develop a super package that have many small packages that doest specific thinks, so lets say that use a kind of ORM that support many dbs. Then you can have those modules (just a fast brief):

- nodecommerce-cart
- nodecommerce-payment-gateway-generic
- nodecommerce-payment-gateway-2co
- nodecommerce-payment-gateway-* (* its the gateway you want)
- nodecommerce-payment-notification (via mail, etc)
- nodecommerce-wish-list
- nodecommerce-orders
- nodecommerce-orders-tracker
- nodecommerce-orm
- nodecommerce-orm-mongodb
- nodecommerce-orm-postgres
- nodecommerce-orm-mysql
- nodecommerce-orm-couchdb
- nodecommerce-orm-redis
- nodecommerce-orm-*

"nodecommerce" its the "package", in this way everyone can be happy using the db driver and payment gateway the want, and the glue with all those small packages its nodecommerce that can use express or another framework and use the approach of actionHero (https://github.com/evantahler/actionHero) that build an app structure (like rails) where you only focus on dev your custom code and example of the app skeleton:

/controllers
    cartController.js (prebuild controller)
    wishlistController.js (prebuild controller)  
    paymentController.js (prebuild controller)
/models 
    cart.js (prebuild model)
    wishlist.js (prebuild model)  
    payment.js (prebuild model)
/view
    cart/*.jade (prebuild view)
    wishlist/*.jade (prebuild view)  
    payment/*.jade (prebuild view)
config.js
package.json

to run

npm start, ./node_modules/nodecommerce/bin/nodecommerce start or build a custom app.js

Thats what I think, maybe can use compoundjs, towerjs, or another fullstack framework.

Regards

Lucas Schmidt

unread,
Sep 11, 2013, 6:19:42 PM9/11/13
to nod...@googlegroups.com
I think it should be fine using MongoDB if you use something like REDIS and their lua scripts as transactions.

Or, if Mongo + Lua is not the best option, I would use Neo4j, since its ACID but has the plus of being a graph. (Actually, I would still use Neo4j, even if I were using Mongo + Redis)

SQL is boring, and if you are really going to develop using SQL, just do it in Java or some other language that can provide you a lot of transactions support. You could still develop all your e-commerce using Node, but a few specific Micro Services using a Java Spring as a Restful Webservice.

But good luck ... e-commerce is crazy difficult I would say. 


Em quinta-feira, 10 de maio de 2012 15h55min51s UTC-3, guzelgoz escreveu:
Hi all,

I've been searching and searching but couldn't find any project/open source node e-commerce platform. As I am running some e-commerce websites using the PhP prestashop solution, I was really hoping to find some sort of e-commerce project but Nada!

Ideally, I would like to use Expressjs and MongoDB. Do you know any e-commerce project that I could participate?

klrumpf

unread,
Sep 12, 2013, 6:04:15 AM9/12/13
to nod...@googlegroups.com
if you do go sql because of the ACID issues there's also non blocking MariaDB  https://npmjs.org/package/mariasql
for node and see https://mariadb.com/blog/mariadb-non-blocking-client-api-and-nodejs
Karl-L. Rumpf
klr...@gmail.com
Málaga, Spain
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
 
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.

Adam Reynolds

unread,
Sep 12, 2013, 6:38:19 AM9/12/13
to nod...@googlegroups.com
Lol "SQL is boring" 

Think you're doing it wrong :)

Alexey Petrushin

unread,
Sep 12, 2013, 6:56:35 AM9/12/13
to nod...@googlegroups.com
Customers doesn't care if there's MongoDB, CouchDB, MySQL inside this e-commerce stuff.

Also, as soon as the goal is to build widely used open source e-commerce - it won't be a huge million user a day site (nobody uses simple open source shops at such scale), it will be a small, simple and easy to use shop. And on such a small scale - it's totally irrelevant how you implement it, it probably will works fine even if you decide to not use any DB at all and store all stuff in plain files.

So, this discussion about DB choice is pointless. Would be more interesting to see what set of features it's supposed to have and where to get a cool design (the thing that unlike DB is really important) for it.

Adam Reynolds

unread,
Sep 12, 2013, 7:12:54 AM9/12/13
to nod...@googlegroups.com
The customer will care when the last item in stock is sold twice. You are right, in the initial work, it's all about the pretty stuff, but the backend implementation should be scalable as the customer grows. 

The last thing a customer wants to hear is that the solution works as long as you don't have too much business.

Seriously this ability to track stock accurately is the most important thing to a business. Having spent a lot of my 13+ years in e-commerce development, this stuff is absolutely critical. The 'design' is irrelevant when the MD of a company wants to know precisely how much stock is in the warehouse, and in your case, why we've sold 3 times as many products than we have in stock, just because the site got busy after they ran an advert on TV last night.

ACID compliance has serious financial implications and is why people keep harping on about it. It's really really really important.

klrumpf

unread,
Sep 12, 2013, 7:54:08 AM9/12/13
to nod...@googlegroups.com
no node expert by a long shot but I concur totally, am developing international logistics solutions for others and also running them in my own businesses since the 90ties and you've *got to play it safe* in this area or (apart from your MD, CEO or whatnot) the first fiscal inspection will pluck you to pieces as various taxes are directly affected. They just *love* to detect incorrect inventory statements on your sheet so they can e$timat€... You need to think very hard how to maintain the database accurate in an async environment with multiusers and you have to carefully design the statements or transactions that need to be executed in a certain sequence if you want your app to scale correctly. Sorry for ranting and raving like this but Adam is right. :-)

j...@team9.com.au

unread,
Sep 12, 2013, 10:07:14 AM9/12/13
to nod...@googlegroups.com
I generally agree with Adam too, it's really important to have the right foundation in place or you (or someone else using the project) will regret it later.

I asked about whether it would be possible to implement a robust solution in mongo db because I've been working on an open source content management system / web app framework built on express and mongoose. 

The project hasn't been announced yet because I'd like to have better documentation, a getting started, and examples in place before I draw too much attention to it.

That said, if anybody would like an early preview it's called Keystone JS and there's a simple demo up at http://demo.keystonejs.com

My company has used it as the foundation of a few eCommerce sites (including http://www.bodymindlife.com, which we launched today) but they've got fairly simple requirements - just creating customers and logging purchases, there's nothing sophisticated like inventory management.

However we're really happy with Keystone for content management and I'd like to explore turning it into something of an eCommerce solution. If it can be done (for example implementing a subsystem using redis or another secondary database to ensure things happen safely) then having the store content and customers managed with Keystone might be really good.

Of course, it's not a good idea to use the wrong tool for the job - you'll just end up fighting with it...

Then again some people may have said that about using javascript for your back-end ;-)

The question is can we build a robust solution on top of mongo (or alongside it with other systems) and if so, are people interested in building it with me as part of Keystone?

Cheers,
Jed.

Jose Luis Rivas

unread,
Sep 12, 2013, 4:17:56 PM9/12/13
to nod...@googlegroups.com
On 09/12/2013 06:42 AM, Adam Reynolds wrote:
> The customer will care when the last item in stock is sold twice. You
> are right, in the initial work, it's all about the pretty stuff, but the
> backend implementation should be scalable as the customer grows.
>
> The last thing a customer wants to hear is that the solution works as
> long as you don't have too much business.
>
> Seriously this ability to track stock accurately is the most important
> thing to a business. Having spent a lot of my 13+ years in e-commerce
> development, this stuff is absolutely critical. The 'design' is
> irrelevant when the MD of a company wants to know precisely how much
> stock is in the warehouse, and in your case, why we've sold 3 times as
> many products than we have in stock, just because the site got busy
> after they ran an advert on TV last night.
>
> ACID compliance has serious financial implications and is why people
> keep harping on about it. It's really really really important.

Using `save` is not ACID, but using `update` it is.


--
Jose Luis Rivas
http://joseluisrivas.net/

Lucas Schmidt

unread,
Sep 12, 2013, 8:21:26 PM9/12/13
to nod...@googlegroups.com
I should explain myself :D 

When I say developing in SQL is boring, I should state that I meant that developing in SQL with Node-js is basically pointless when you need to use all the goodies of ACID. 

You should just use another language that can give you that. 

But, part of me just wants to get away from SQL, since there are a lot of different things out there to learn, and thats much more fun when learning/improving. 

But yeah, to not use SQL in an e-commerce application, it would be stupid, but sometimes stupid can be fun :D 

Again, I am sure you can do an e-commerce using Redis lua scripts, but it will take much more work than simply using Java/Spring/SQL.

Mark Hahn

unread,
Sep 12, 2013, 10:30:57 PM9/12/13
to nodejs
 to not use SQL in an e-commerce application, it would be stupid

Huh?  I don't understand.  What is your logic?

Marian Meres

unread,
Sep 13, 2013, 3:05:29 AM9/13/13
to nod...@googlegroups.com
Hello Guys,

not that you all don't know all of this, but this still gives some nice view from the very top perspective on the topic:
http://www.youtube.com/watch?v=qI_g07C_Q5I

m.

klrumpf

unread,
Sep 13, 2013, 3:27:21 AM9/13/13
to nod...@googlegroups.com
"but sometimes stupid can be fun :D"

On occasion I find it fun when observing it in others but it keeps
irking me when it happens to be me. Perhaps programming is the art of
turning something stupid into something slightly less stupid in stupid
iterations. (lines of code / IQ = iterations) Or maybe I should just get
a 50" screen?

greelgorke

unread,
Sep 13, 2013, 5:43:45 AM9/13/13
to nod...@googlegroups.com

When I say developing in SQL is boring, I should state that I meant that developing in SQL with Node-js is basically pointless when you need to use all the goodies of ACID. 

You should just use another language that can give you that. 

how pointless is that....

 

Lucas Schmidt

unread,
Sep 13, 2013, 8:33:24 AM9/13/13
to nod...@googlegroups.com
Sure, I guess my english is not good enough and this subject is not that easy to tackle.

In my mind its just impossible for you to get away from NO-SQL nowadays. So I am always trying to learn new things about it, and I find it very useful for a lot of use cases, as everyone else. 

Some people said NO-SQL shouldnt be used for e-commerce applications and that makes sense in a stock control perspective, but obviously an e-commerce is something much bigger than stock control.

Nowadays, a lot of people are developing applications in terms of MICRO services: so, it doesnt exist this concept of having a single database for all problems you want to solve. You will have multiple databases, every "service" will have a database or multiple databases, each service will be separated and it should be separated somehow. In theory, the best thing is to completely separate your services so that you can scale every single one of them individually.


Back to the topic, if I were to start developing an e-commerce, the first things I would have to tackle are the toughest problems. Stock control could be done using a NO-SQL database that supports transactions like Redis. Or you can simply do it in SQL and get rid of headaches, since everyone seems to "dominate". I dont know what would be my choice since I like to experiment with new things, so I may choose something like Redis, but I would recommend the usage of SQL for stock-control, even if you want to use NO-SQL for most of your application. 

Thats my perspective. As I said before, if you are not having fun with it, whats the point. You can hire an army of robots to do that SQL (stock control) part for you if you find it boring.

Bruno Jouhier

unread,
Sep 13, 2013, 5:22:17 PM9/13/13
to nod...@googlegroups.com


ACID compliance has serious financial implications and is why people keep harping on about it. It's really really really important.

Sure! And, as your stock is managed in your ERP you really really need a DTC between your e-commerce server and your ERP. Good luck!!!

More seriously, there are other ways to build robust distributed systems: idempotent operations, eventual consistency, reservation and compensation strategies, etc.

akira

unread,
Sep 14, 2013, 10:41:08 AM9/14/13
to nod...@googlegroups.com
@Norman Paniagua 

Have you started work on this?

akira

unread,
Sep 14, 2013, 10:50:23 AM9/14/13
to nod...@googlegroups.com
OK.To get this thread back on track. Is there anybody willing to collaborate on an E-Commerce framework based on node? Is there any existing pakage that we can contribute to?

Norman Paniagua

unread,
Sep 15, 2013, 2:32:53 PM9/15/13
to nod...@googlegroups.com
I've no time free to start or participate actively on this project, but maybe in few months when I finish some projects maybe I can go in...

Regards
Message has been deleted

Gagle

unread,
Sep 17, 2013, 7:00:25 AM9/17/13
to nod...@googlegroups.com
The node.js community is very huge and we have a lot of incredible people making the most coolest things you can imagine. Building a 100% free open source e-commerce solution could be a BIG added value to the node.js platform. Its dynamic nature fits well with anything, but we need smart people with experience to lead this...

Eric Ingram

unread,
Sep 28, 2013, 5:52:22 AM9/28/13
to nod...@googlegroups.com
Forward is a new e-commerce platform, recently re-built on NodeJS: http://getfwd.com

It was originally developed as a PHP platform in 2012, and throughout 2013 has been re-developed as a high performance e-commerce API server written in NodeJS, with API client libraries for every major language including PHP, NodeJS, Ruby, Python.

Here are a couple of sites using the earlier PHP version today:


It uses MongoDB with a new storage engine that enables document-level locking and complete ACID transaction support. Yes, we're doing complete ACID transactions with MongoDB. It's awesome fast.

Average API call response time (including connection latency/round trip) is under 10ms.

API is completely REST-like, supporting both persistent TCP connections and HTTP.

Lucas Schmidt

unread,
Sep 28, 2013, 8:45:56 AM9/28/13
to nod...@googlegroups.com
Eric, thats pretty cool, now I am amazingly curious about how you guys did the API server using Mongo, Redis and elastic search. (not open source)

In some projects, Elasticsearch is something I ve been thinking about using, but the real issue is that I had to do some queries in subdocuments and elastic search couldnt solve that problem properly (doesnt return sub-documents, something that I could solve using Mongo.aggregate and doing some cache of queries).

Regarding your stack, (without really knowing your model), but I think Neo4j would fit well as a way to organize data, do recommendations. Neo4j instead of elasticsearch would be interesting.

But its cool that u guys decided to do with Mongo, Redis and Elastic.

Can you elaborate what you guys use Redis for? Only cache or do you actually use lua transactions for other stuff?

Alexey Petrushin

unread,
Apr 26, 2014, 5:26:04 PM4/26/14
to nod...@googlegroups.com
Couple of months ago I did a Cart Widget that can be embedded into site and kind of turn it into Shop. 


Here's how it looks embedded in site http://robotigra.ru (top right angle)

Also, while creating it I recorded every step and if you are interesting in learning JS, maybe it can be useful http://jslang.info/projects/salejs

Joseph Baiden

unread,
Apr 27, 2014, 4:13:57 AM4/27/14
to nod...@googlegroups.com


On Thursday, 10 May 2012 19:55:51 UTC+1, guzelgoz wrote:
Hi all,

I've been searching and searching but couldn't find any project/open source node e-commerce platform. As I am running some e-commerce websites using the PhP prestashop solution, I was really hoping to find some sort of e-commerce project but Nada!

Ideally, I would like to use Expressjs and MongoDB. Do you know any e-commerce project that I could participate?

If not, I would like to invite anybody to start a project. I think it would have great interest and at least I would participate to it - as a novice node programmer ;) but a serious user that may help on what is needed.


Hi All,

I have a work-related project to develop an application using NodeJS. This application needs to capture data and use wrapper classes developed in C# to send the captured data to HP AGM. The first part of the project is to come up with the design- the architectural layout of the application. Any ideas?

lin di

unread,
Sep 26, 2014, 7:46:45 AM9/26/14
to nod...@googlegroups.com
any progress? after googing and testing for few hours, i finally decide to use keystone & sequelizejs(or bookshelf.js to support mysql acid). 

在 2013年9月12日星期四UTC+8下午10时07分14秒,j...@team9.com.au写道:

Alexey Petrushin

unread,
Sep 28, 2014, 11:40:38 PM9/28/14
to nod...@googlegroups.com
There's kind of eCommerce in node.js, very simple though, sample shop built with it http://robotigra.ru

It's not exactly eCommerce, but a static site generator with eCommerce plugin http://eviltext.com

The sample shop with its sources 

Matt Mischewski

unread,
Sep 30, 2014, 1:01:23 AM9/30/14
to nod...@googlegroups.com
this is built on Meteor


Not pure node but looks promising


On Thursday, May 10, 2012 8:55:51 PM UTC+2, guzelgoz wrote:
Hi all,

I've been searching and searching but couldn't find any project/open source node e-commerce platform. As I am running some e-commerce websites using the PhP prestashop solution, I was really hoping to find some sort of e-commerce project but Nada!

Ideally, I would like to use Expressjs and MongoDB. Do you know any e-commerce project that I could participate?

If not, I would like to invite anybody to start a project. I think it would have great interest and at least I would participate to it - as a novice node programmer ;) but a serious user that may help on what is needed.

chuck.lei

unread,
Sep 30, 2014, 9:43:43 PM9/30/14
to nod...@googlegroups.com
Thanks. I will checkout and take a look at it.

发自我的 iPad
--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to a topic in the Google Groups "nodejs" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/nodejs/h7Cs-41qVKU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to nodejs+un...@googlegroups.com.
To post to this group, send email to nod...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/666a282a-45bf-4422-bcbe-0814715fcbdf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

chuck.lei

unread,
Sep 30, 2014, 9:43:45 PM9/30/14
to nod...@googlegroups.com
It is totally based on mongodb. I prefer to choose MySQL for inventory manage. It's hard to convince other colleagues that mongodb is a better solution. The most popular and mature commerce projects like (magneto, ofbiz) all use MySQL. Although it seems that mongodb is best suited for nodejs.

发自我的 iPad
--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to a topic in the Google Groups "nodejs" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/nodejs/h7Cs-41qVKU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to nodejs+un...@googlegroups.com.
To post to this group, send email to nod...@googlegroups.com.

Tom Boutell

unread,
Oct 1, 2014, 7:17:03 AM10/1/14
to nod...@googlegroups.com
There is a good MySQL driver for node in npm. It would be more accurate to say that mongodb is suited to node because it has an API that is based on JavaScript to begin with. But node isn't any worse at MySQL than other frameworks.
Reply all
Reply to author
Forward
0 new messages