E-commerce … or NopCommerce?

When I was first asked to write a E-commerce site, I have to decide which language to use? Should I use open source or should I use a product out there? And after a lot of research, there is really not a single product out there that will just work out of the box and let you do anything you want. (I personally think that someone should invent this product and have a mind control system)
And here I am now with my 3rd project working with NopCommerce and working from 1.6 to 1.8 and now closing another project with 2.1. Today I want to recap my experience working with NopCommerce … the good, the bad and my thoughts…


The Good

NopCommerce is a open source E-commerce site for .NET developers to customize; with the complexity level and the amount the infrastructure setup, NopCommerce is, in my opinion, one of the best online open source e-commmerce site.


From Technolgy point of view, it always embrace the newest technology, move from .NET form view to MVC3.NET. It uses Entity Framework Code First in np 2.0+, Linq, .NET 4, SQL 2008, with well defined classes and interfaces. Total respect for the entire NopCommerce Team.

In addition, it provides all the required services that you can think of.


NopCommerce, I believe that NopCommerce has a online support team to help clients or developers, but I personally never use it. But I think a lot of information can be found online or on the nopcommerce forum… which are great btw.


To sum it up, I believe if you are .NET users … give it a try, but if you are not a .NET users… read the next section “not so good” section and decide…


The admin panel is very sophisticated but it allows you do to localization, shipping, define tax, product detail, control forum, comments, review and the list goes on and on… I mean, try to implement what I just said and have an admin panel to deal with them, it will takes a while.


The not so good


The performance

The number 1 not so good thing about NopCommerce I got is a complain from my client. They complain about the speed being very slow. It takes like a minute or two or even three minutes to load which are very NOT SO GOOD and not very acceptable for my client. The problem lies under the product page, if you load a lot of products in one page, it starts to load very very slow. Well, one of the solution is to not load a lot of items in one product list page … but what if you encounter a client that wants to load 90 products in page load? Then you need to modified the code. First, the reason it is slow is because when loading a product, you have to load the picture from the database, and you have to load the product variant and calculate the price and apply the discount to just get the product display on the page… so ofcourse its performance will be slow. So… one of the solution is to apply lazy-loading to the product, another solution, change the code to have special page to have a light-weight product page and take out the unnecessary information… Another solution is to change to a dedicated server for better performance.


The complexity

If you are not familiar with .NET technology, you will have a large learning curve. If you expect to download, install, run and it is something very easy to customize… I am afraid this is not the case, unless you are very smart, because that learning curve is not a light curve for me.


My thoughts

To deliver a complete E-commerce system, I will definitely use Nopcommerce. However, each project is unqiue, and the effort to modify NopCommerce will be very expensive too. Some of my estimates were very off due to the complexity of NopCommerce, however it is one of the most complete system out there. BUT… if you are building a light weight, requirement easy project, I will do more research before jumping in…

I know… I use it for free, so why complain? But again, I appreciate NopCommerce but would like to share my shallow thoughts as well. Please do leave a comment and do share your thoughts…

By Michael Siu