At Deesea we are keen to use and promote Open Source solutions in our client projects. When our clients wanted shopping carts we used to build them from scratch. We built them from scratch because in the process of building them we experimented with emerging technologies and techniques. After we built quite a few, we were tired of re-inventing the wheel. After all, we had explored all we needed to explore.
Dorian, our founder, figured that the best way to go about it was to master an Open Source shopping cart application and also eventually contribute to its development. That way, we would benefit from the work the community has done and would be using and promoting an Open Source project and would be able to give back to the community as well.
Putting your weight behind an Open Source project is a risky task. It becomes even riskier when there are many competing projects in the same space. If you put your weight behind an inactive or badly developed solution, the whole purpose of going for Open Source will be lost. In such a case you’d be better off developing or using your own solutions, and when it came to shopping carts, we had a few.
Here I am going to record the thought process that was behind our choice and also share our evaluations of the solutions that are out there.
Technology
Since Deesea is a .NET shop, the solution had to be built on .NET technologies. We are a progressive development house, so we would prefer a solution that was developed using the latest technologies such as ASP.NET MVC. We are also big fans of a few other platform level Open Source tools such as nHibernate and nUnit. So if the solutions were built using any of these technologies, we would have loved it even more.
Unfortunately there weren’t any that filled our criteria 100%. But there are quite a few .NET Open Source shopping carts
While searching for ASP.NET based shopping carts, there are a few options.
- nopCommerce
- dashCommerce (was dead and now resurrected)
- ASP.NET Store Front
- Commerce Starter Kit (predecessor to dashCommerce)
- The Beer House
The challenge before us was to find the most mature, stable, production ready shopping cart, that was feature rich, easily extendable and boasted of an active community. When evaluated against this criteria, the first two solutions really stood out.
We were compelled to leave out ASP.NET Storefront due to the fact that Rob Conary has not done a release to it in over an year and the last application that he was referring to in his blog posts were significantly different from the released source. And there seems to be no direction in sight except for his explanation that a team over at MS was doing significant modifications to the solution and it will be released eventually. This scared us in a way as a project that MS worked on internally is bound to be built on 100% MS technologies and leave out other open source options. While we have nothing against MS technologies we wanted to go with a solution that would be open to embedding the best of breed technologies.
Features
Features of shopping carts are sometimes very subtle. Most shopping carts will have the basic features of a shopping cart and a check out process. It is the little nitty gritties of these, that you tend to miss on the first round, that get you by the neck during implementations.
The following is a summary feature comparison. This has been put together by the feature matrixes that are published in each solutions web sites and consists only of the features we evaluated initially. We will do a more thorough evaluation against requirements of each project.
| Feature |
dashCommerce |
nopCommerce |
| Product / Catalog Features |
|
|
| Unlimited categories |
 |
 |
| Unlimited manufacturers |
 |
 |
| Products belonging to multiple categories |
 |
 |
| Multiple product attributes |
 |
 |
| Multiple Product Images |
 |
 |
| Multiple Product Descriptors / Product Specifications |
 |
 |
| Support for KIT products |
|
 |
| Support for Downloadable Products |
|
 |
| Multi-Currency Support |
|
 |
| Ability to promote products (sale/featured/new) |
|
 |
| Product Inventory Tracking |
 |
 |
| SEO – customize meta tags for products/catalog |
|
 |
| |
|
|
| Cart/Checkout/Order Management |
|
|
| Configurable Taxes (by Country, State) |
 |
 |
| Integration with third party Tax calculators |
 |
 |
| Configurable Shipping Rates (weight & state, country) |
 |
 |
| Integration with Shipment Providers (UPS, FedEx, DHL ,USPS) |
 |
 |
| Integration with Payment Processors (PayPal, Auth.NET, 2CO, etc) |
 |
 |
| Include/Exempt Shipping from Tax |
|
 |
| Include Tax in Price |
|
 |
| Email order notifications |
 |
 |
| Shipment Tracking |
 |
|
| Refunds/Partial Refunds |
 |
|
| |
|
|
| Marketing/Promotions |
|
|
| Affiliate programs |
|
 |
| Polls / Blog / News |
|
 |
| Latest Products |
|
 |
| Product Reviews |
 |
 |
| Recently viewed products |
|
 |
| Discounts |
|
 |
| Coupons |
 |
 |
| Free Shipping |
|
 |
| |
|
|
| General / Skinning / Extending |
|
|
| Ability to Skin the application via Master Page/CSS |
 |
 |
| CMS/Blog |
 |
 |
| RSS Feeds for Product Catalog/Content/Blog |
|
 |
| Search engine friendly URL’s / URL Re-writing |
|
 |
| Multi-Lingual |
 |
 |
| |
|
|
Conclusion
We pretty much concluded that nopCommerce is the way to go. But we are not going to ignore dashCommerce. We are a little uneasy that it suddenly disappeared, along with the forums and releases and the source for a while, but we hope all that is in the past and that dashCommerce will start to thrive again. While dashCommerce was gone, nopCommerce kept on growing and it’s exhaustive feature list is a testament to the constant upgrades it has gone though. Also, nopCommerce has the strength of nopSolutions behind them, although we are not clear how big they are or how many developers they have dedicated to developing nopCommerce.
One thing we would love to see is if any of these solutions have plans to go MVC anytime soon. This is not very clear but based on their and their creators blogs, it seems dashCommerce maybe making some headway towards this. I for one, would love to contribute to any of these projects if they choose to go MVC!
Finally, if you agree or have comments on anything mentioned above, please feel free to comment.