Plugin + Multi-Tenant eCommerce Framework

This is an eCommerce framework used to build new Multi-Tenant eCommerce on top of the default functionality. The framework uses Multi-Tenancy and Plugin Architecture. The framework contains 4 parts:

  • Identity Server
  • API
  • Admin UI
  • StoreFront UI

Multi-Tenancy is used to allow multiple vendors use the StoreFront UI to show their own products and services by having a custom domain. The framework allows table Multi-Tenancy and database Multi-Tenancy.

Plugin Architecture is also used in this project to allow flexibility and also apply a source income based on plugins. The idea of plugins is simple. There is a server where plugins are stored and Admin UI or StoreFront UI can install these plugins. A plugin is a razor class library that contais the plugin page with the configured url. Blazor fully supports this by registering the plugin routes (page and additional API endpoints).

Technologies used:

Figure 1. Plugin Manager
Figure 2. Sample Plugin

In Figure 1 you can see the Plugin Manager in Admin UI. Here, you can install/update/uninstall any plugin. After installation, you can see the plugin opened in Figure 2. Below you will see the implementation of a plugin.


Figure 3. Plugin Structure

In Figure 3, you can see a plugin razor class library. The plugin needs to contain a razor component with the @page url configured and it will be registered in the system.


Figure 4. Add Plugin to Plugin Server

Figure 4 shows the page where the plugins are added to the plugin server. You simply have to fill in some info and upload the DLL. Also, you can configure the nuget and other plugin dependencies.


Figure 5. Cart Plugin in StoreFront

Plugins can also be installed in StoreFront UI. Figure 5 shows the cart plugin in StoreFront UI.