How to choose an e-commerce shopping cart
I have been working on a new shopping cart project for a new client. I haven't yet gone to production with an e-commerce solution I built. In the past I have worked with shopify.com and bigcartel.com, using their hosted cart solutions as it always met the needs of the project. This project is not a straight forward build for the client, it is more of a partnership. So I will be hosting it and want to have complete control over as much as possible to adjust and customize as needed.
The requirements
This new site will be a shopping cart with approximately 6-18 higher priced items. Each item has an array of properties that a shopper will want to know about. These should be able to be stored as searchable values and not just in the description. There will need to be multiple images for each product. In addition to the store section the website will need several "static" content pages and a blog. I would like the entire site to be run off of a single codebase and not have to have multiple logins for editors and admin users. I have read of people choosing a cart solution for the store and a blog engine for the blog. This would end up requiring a user to login to both admin interfaces to manage the site.
The choices
Hosted solutions
Shopify has dropped the free account and is now charging higher rates. Bigcartel still has the free account but the product limit is too low for the free account. The monthly rate of 9.99 is a nominal fee but I can avoid it as I already have hosting paid. I do enjoy both sites interfaces and features.
Open Source solutions
I first considered using WordPress with the e-commerce plugin. I am familiar with wordpress and have used it for this site and others successfully as a blog and cms. However, the free version of the plugin was limited for product display and options and I wasn't prepared to pay for the upgrade of the product, as it didn't seem to be something I would want to use long run.
Drupal was then considered next with the Ubercart module. I found this to be a likely choice. However, in trying to build a complete site with blog, cms and e-commerce I found the setup to be too complicated, especially if I had to hand it over to a less technical person for maintenance. It was my first interaction with drupal so perhaps I was just behind on the learning curve.
Spree, a rails project that I had first seen back in October 2008 when I was looking at writing a rails cart myself. At that time I ended up using bigcartel to save time and it met my needs for that project. I even helped identify at least one bug, Spree bug #77, during my review that was fixed. Spree has upgraded everything since then and is now using lighthouseapp to track issues, a full documentation site has been built, a google group with active users and github hosted source for download.
The Choice
Spree!
I chose Spree because of the flexibility the open source project provides me. It is built to allow extension of the code quickly and easily. There are even a few extensions already available. I will be writing later about building a blog extension for spree. I like the rails source, the active community and the fact the project is moving at a fast pace in regards to improvements and ability to override the functionality that is built in. While I am integrating my blog into the spree system I have read of how others have used wordpress as the blog engine, due to the available features, and spree or another rails solution as the shopping cart. I considered it but it wasn't the complete solution I was looking to implement.
In conclusion it is truly dependent on your project which solution you use for an e-commerce website. There are so many that are proven to work. Take your time and consider how much time you need to spend on customizing the templates, how easy it is to maintain products and what your ultimate goals are with the site, when making this decision. When the new site is ready I will be sure to share.
