Selected freelance work · eCommerce framework
Multi-tenant commerce & CMS
A commerce platform with separate storefronts, installable modules, and configurable content pages. My work included plugin interfaces and dependency injection, tenant data access and caching, the CMS module, and delivery workflows.
The problem
Different vendors needed their own storefronts and configuration while using a common commerce foundation. The platform also needed a way to extend its features without adding every module to the core application.
A shared framework with separate storefronts
The architecture separates identity, APIs, the administration interface, and the storefront interface. Tenants can use custom domains and maintain their own storefront configuration. The original framework supports both shared-table tenancy and separate-database tenancy.
I designed tenant-specific data access, implemented tenant-aware caching, and managed schema changes across tenants. My work also included tenant configuration, catalog and cart/order workflows, and user permissions. Azure services supported functions, storage, messaging, and search integrations.
Plugins as installable application features
The plugin manager allows administrators to install, update, and remove modules. Each plugin carries its own page and route; the framework registers its routes and any additional API endpoints. The manager exposes the selected version and dependencies.
I defined interfaces between modules and extension points, and implemented dependency injection for plugins.
The same extension model supports storefront features, such as the cart. Modules can be installed into the appropriate interface while the common framework handles the surrounding application structure.
Configurable content pages
I also developed the CMS module within the platform. Editors can compose pages from containers, paragraphs, links, media, and references to other pages. Dynamic plugins can be included in a CMS page using the same plugin architecture.
Testing and delivery
I tested tenant data separation, plugin lifecycle behavior, and commerce/CMS workflows. I also wrote automated tests; tools used on the project included xUnit, NUnit, Moq, NSubstitute, and Postman.
I configured GitHub Actions and worked with Azure DevOps Pipelines, deployed releases, and supported production issues using Application Insights and Serilog.
What the platform delivers
Tenants have configurable storefronts, administrators can manage optional modules, and content editors can compose pages within the same platform. The CMS and plugin system share an extension model, so content pages can include application functionality.