I create an e-commerce platform because I believe the ruby community deserved a great e-commerce solution. You can make your own opinion on the on ror-ecommerce. In the process architecting ror-ecommerce I've found a few common patterns that can hurt your ability scale your e-com business.
I'll start with the Cart and describe how a simple cart is also the most powerful. Next I will go over an order's lifecycle. Common issues with the order can make tracking order history and doing returns correctly almost impossible.
Shipments and Returns get very complex very quickly. You must think about these use cases up front or else they become impossible to deal with after your MVP launch.