I was looking at this recently. Rails is really good for this but it's losing popularity. Ror is a good solution but the downside is making rails cooperate with other tools like react might be a pain. If you're ok with having a shopping cart from 2009 use rails for sure. Honestly you could use something like wordpress woothemes. If you want to have control use the mean stack or sails.js. Modeling the data gets a little tricky with mongoosejs schemas and relationships but it's definitely doable!