nopCommerce is a popular Open Source eCommerce solution based on .NET that has been active for over 10 years and continues to evolve.  Nearly all of the features are extensible through a plugin or a theme.  Whether you are a Store Owner or a Software Developer looking for a quality eCommerce solution, you should check-out nopCommerce today.

While at Micosoft in Redmond, Washington, I walked through the nopCommerce Architecture

The nopCommerce Architecture continues to evole.  The current solution is based on .NET 5 and supports Microsoft SQL Server, MySQL, and PostgreSQL.  You can easily download the solution from GitHub.

The shopping experience for the user is what you would expect.  The home page, shopping page and check out page can all be customized with a plugin or theme.  A Store Owner can easily create and manage Blog Posts, News Feeds, and random Topics (pages) throughout the site.  Check out a list of the features here.

Also, it is mobile ready.  Therefore, users have a great shopping experience on a mobile device.

nopCommerce Store Front

The best way to experience the Store Front is to play with the demo application.

The administration experience is well designed and extensible.  By the nature of being an administration interface, there are a lot of things to manage.

Also, it is mobile ready.

nopCommerce Administration

Like the Store Front, the best way to experience the Administration is to play with the administration in demo application.

From a Software Developer perspective, the nopCommerce solution source code is well organized.

nopCommerce Solution

The front-end web project, Nop.Web, contains the store front and the administration of the eCommerce solution.  The Nop.Web.Framework project contains common front-end library of code.

Nop.Core contains also a lot of non-UI specific common code.

Nop.Services contains most of the business logic for the application.  Nop.Services is not a stand-alone Web Service, however, one could create a separate application and reference this library.

Nop.Data contains the common data access code to Microsoft SQL Server, MySQL, and PostgreSQL.

The Tests projects contain the various unit tests.  There are many Plugin projects that come with the nopCommerce solution.

The nopCommerce Architecture reagarding the "separation of concerns" was well implemented.

nopCommerce Architecture

The Application layer follows the stand MVC pattern.  When the user makes a request to the Web Application, the Controller will typically create and fill the Model with data.  The Controller will then create and return the View.  While creating the View, the Controller will pass the Model to the View to enable some data entry logic.

The Business layer is accessed by the Controller.  The Controller will use one or more Services to retrieve data and apply any business rules around that data.  The “Service” does not know about the Model.  The Service populates one or more Domain Entities.  The Domain Entities are used to fill-in the Model.

The Data layer is accessed by a Service to gets its data.  Queries to the database are handled through the Repository pattern.  The database data uses a Domain Mapper to directly populate the Domain Entities.

Watch for courses, products, and services on nopCommerce to be realeased here and on our YouTube channel.

The best way to keep posted on updates is to Subscribe today!

Feel free to send me an email at with your thoughts.