Technology, business and change
3 Open Source Alternatives to Traditional PHP e-commerce Solutions

I’ve been evaluating a lot of e-commerce solutions lately for a particular project I’m working on and I’m really disappointed by the open source offering in general: most e-commerce solutions out there are just heavy and/or a total mess to customize.
Because we’re talking open source here, most platforms are built using php. I wouldn’t say that the reason they ended up this way (messy) is because they were built using php, but for me it was a great opportunity to look for other e-commerce solutions built using newer programming languages like Ruby and Python.
This quest for e-commerce solutions built with new technologies and best practices in mind led me to a couple of very promising platforms built with Ruby on Rails or Python Django.
I’m not going to review the solutions in this post as my goal is only to raise the awareness about the simple fact that if you’re not satisfied with the current classic php platforms like OSCommerce, X-Cart or Magento, there are some decent alternatives.
Let’s have a look.
Spree shopping cart

I have to admit that so far, Spree is my favorite solution. It’s built using the popular Web framework Ruby on Rails and it’s very lightweight and clean. One could argue that it’s lightweight because it’s still missing a lot of features most php carts have, but it’s actually pretty complete for such a young product. You can have a quick look at the features list here.
Among the features, you will find localization, extensible design, use of css frameworks, custom tax and shipping rules, advanced product categories, SEO friendly, one page checkout and many others.
Another great thing with this solution is the community. Like any open source project, one of the most important aspect is the community support and also plugins built by this community. No problems for Spree, it delivers. There’s an active discussion board and also an extension repository with around 40 extensions ready for download and installation.
Visit the project’s website or have a look at the demo, it’s worth a look.
I haven’t tested spree yet in a production environment, but so far I’m impressed by what I see in my development environment.
Substruct
Substruct is another interesting alternative based on Ruby on Rails, but it is not as complete as Spree shopping cart. The project is hosted on Google Code and while that’s absolutely fine with me, the problem is that the project doesn’t have its own central website (with extensions, basic information, support, etc.) like Spree. It’s not as mature as Spree is.
If you have a quick look at the demo admin section, you’ll also find out that there are a lot of features missing and that it might be a problem to build a decent e-commerce website with all the functionalities you would expect.

For very simple needs though, it could end up being a very lightweight and easy to maintain solution.
For more information (download, demo, support), visit the project’s Google Code page here.
Satchmo

Satchmo is the third non-php e-commerce platform I’d like to cover. Unlike the other two solutions, Satchmo is built using the popular Python Web framework, Django.
I’ve heard a lot of good things about satchmo, but it’s a little bit painful to set up for the first time as you need quite a lot of dependencies. Usually I wouldn’t bother too much about that aspect as once your initial setup is all set, you’re good to go, but it could end up being a problem.
The problem here is that because of all the required dependencies, I would be worried about deploying this in a production environement on a traditional shared hosting. Feel free to have a look at the impressive requirements list.
The requirements might be impressive and the whole thing not that polished, but the feature list is pretty interesting. Among the features, there are some you won’t find in a lot of e-commerce platforms like support for downloadable and subscription products, support for rating and comments, related products suggestions and many more. Feel free to have a look at the features list for more information.
Conclusion
As mentionned earlier, this post was definitely not a review of every e-commerce solution out there: it’s more of a reminder that there might be some pretty good solutions that aren’t built using php.
I love php, but the code base of e-commerce platforms using php usually end up being really messy. In fact, it’s not just the case for e-commerce platforms.
Newer programming languages like Ruby and Python offer a lot of advantages over php and it’s definitely worth considering these newer languages for your next projects, being e-commerce or not.
twitter
I’ll tell my students about this topic for them get more exp.
Your article is very good! Helpful to me, I have learned a lot of things, very grateful!