Smartstore
A modular, scalable and ultra-fast open-source all-in-one eCommerce platform built on ASP.NET Core 10
Top Related Projects
ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
PrestaShop is the universal open-source software platform to build your e-commerce solution.
Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
A free shopping cart system. OpenCart is an open source PHP-based online e-commerce solution.
A customizable, open-source ecommerce platform built on WordPress. Build any commerce solution you can imagine.
Quick Overview
Smartstore is an open-source e-commerce platform built on ASP.NET Core. It offers a feature-rich, modular architecture for creating and managing online stores, with a focus on performance, flexibility, and user experience.
Pros
- Highly customizable and extensible through plugins and themes
- Built on modern technologies (ASP.NET Core, Entity Framework Core)
- Comprehensive set of e-commerce features out of the box
- Active community and regular updates
Cons
- Steeper learning curve compared to some other e-commerce platforms
- Documentation could be more extensive for advanced customizations
- Limited third-party integrations compared to more established platforms
- Resource-intensive for smaller websites or shared hosting environments
Code Examples
- Creating a simple product:
var product = new Product
{
Name = "Sample Product",
ShortDescription = "A brief description",
FullDescription = "A more detailed description",
Price = 19.99m,
Published = true
};
await _db.Products.AddAsync(product);
await _db.SaveChangesAsync();
- Implementing a custom widget:
[Widget("MyCustomWidget")]
public class MyCustomWidget : Widget
{
public override Task<IViewComponentResult> InvokeAsync(WidgetContext context)
{
var model = new MyCustomWidgetModel
{
Title = "Custom Widget",
Content = "This is a custom widget"
};
return Task.FromResult<IViewComponentResult>(View(model));
}
}
- Adding a custom route:
public class RouteProvider : IRouteProvider
{
public void RegisterRoutes(IEndpointRouteBuilder routes)
{
routes.MapControllerRoute(
name: "MyCustomRoute",
pattern: "custom/{action=Index}/{id?}",
defaults: new { controller = "Custom" }
);
}
public int Priority => 0;
}
Getting Started
-
Clone the repository:
git clone https://github.com/smartstore/Smartstore.git -
Open the solution in Visual Studio 2022 or later.
-
Set the Smartstore.Web project as the startup project.
-
Build and run the application.
-
Follow the setup wizard to configure your store.
-
Access the admin area at
/adminto manage your store.
For more detailed instructions and documentation, refer to the official Smartstore documentation.
Competitor Comparisons
ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
Pros of nopCommerce
- More extensive documentation and community support
- Larger ecosystem of plugins and themes
- Better multi-store and multi-vendor capabilities
Cons of nopCommerce
- Steeper learning curve for beginners
- Heavier resource usage, potentially impacting performance
- Less flexible customization options for advanced developers
Code Comparison
nopCommerce:
public class ProductController : BasePublicController
{
[HttpGet]
public virtual IActionResult ProductDetails(int productId)
{
var product = _productService.GetProductById(productId);
return View(product);
}
}
Smartstore:
public class CatalogController : PublicControllerBase
{
[HttpGet]
public async Task<IActionResult> Product(int id)
{
var product = await _db.Products.FindByIdAsync(id);
return View(product);
}
}
Both repositories use similar MVC patterns for handling product details, but Smartstore employs async/await for database operations, potentially offering better performance in high-load scenarios. nopCommerce's approach is more straightforward, which may be easier for beginners to understand and implement.
PrestaShop is the universal open-source software platform to build your e-commerce solution.
Pros of PrestaShop
- Larger community and ecosystem with more modules and themes
- More extensive documentation and learning resources
- Better multilingual and multi-currency support out of the box
Cons of PrestaShop
- Steeper learning curve for developers
- Can be resource-intensive, especially with many modules installed
- Less flexible customization options compared to Smartstore
Code Comparison
PrestaShop (PHP):
class ProductController extends ModuleAdminController
{
public function __construct()
{
$this->bootstrap = true;
$this->table = 'product';
$this->className = 'Product';
parent::__construct();
}
}
Smartstore (C#):
public class ProductController : ManageController
{
public ProductController(SmartDbContext db, IProductService productService)
{
_db = db;
_productService = productService;
}
}
Both repositories offer robust e-commerce solutions, but they cater to different needs. PrestaShop has a larger ecosystem and more extensive features, making it suitable for larger businesses. Smartstore, on the other hand, offers more flexibility and easier customization, which can be beneficial for developers and smaller businesses with specific requirements. The code comparison shows that PrestaShop uses PHP and follows a more traditional MVC structure, while Smartstore is built with C# and employs dependency injection, reflecting modern development practices.
Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
Pros of Magento 2
- Larger community and ecosystem, with more extensions and resources available
- More robust enterprise-level features for large-scale e-commerce operations
- Better support for multi-store and multi-language setups
Cons of Magento 2
- Steeper learning curve and more complex architecture
- Higher resource requirements, potentially leading to slower performance
- More expensive to develop and maintain, especially for smaller businesses
Code Comparison
Magento 2 (PHP):
<?php
namespace Magento\Catalog\Model;
class Product extends \Magento\Framework\Model\AbstractModel
{
public function getName()
{
return $this->_getData('name');
}
}
Smartstore (C#):
namespace Smartstore.Core.Catalog.Products
{
public partial class Product : BaseEntity, IAuditable
{
public string Name { get; set; }
}
}
Both repositories use object-oriented programming, but Magento 2 uses PHP while Smartstore uses C#. Magento 2's code structure is more complex, reflecting its larger feature set and flexibility. Smartstore's code is more concise and follows modern C# conventions, potentially making it easier to work with for developers familiar with .NET ecosystems.
A free shopping cart system. OpenCart is an open source PHP-based online e-commerce solution.
Pros of OpenCart
- Larger community and ecosystem with more extensions and themes available
- Simpler setup and configuration process, suitable for beginners
- Lightweight core with lower server requirements
Cons of OpenCart
- Less feature-rich out-of-the-box compared to Smartstore
- Older codebase with some legacy code and architectural limitations
- Limited built-in multi-store capabilities
Code Comparison
OpenCart (PHP)
public function index() {
$this->load->language('product/category');
$this->load->model('catalog/category');
$this->load->model('catalog/product');
}
Smartstore (C#)
public async Task<IActionResult> Index()
{
var model = await _categoryService.PrepareCategoryModelAsync();
return View(model);
}
OpenCart uses a more traditional PHP approach with explicit loading of language files and models. Smartstore, built on ASP.NET Core, utilizes dependency injection and async/await patterns for better performance and maintainability.
While OpenCart offers simplicity and a vast ecosystem, Smartstore provides a more modern architecture and richer feature set out-of-the-box. The choice between them depends on specific project requirements, development expertise, and scalability needs.
A customizable, open-source ecommerce platform built on WordPress. Build any commerce solution you can imagine.
Pros of WooCommerce
- Larger community and ecosystem with extensive plugin and theme options
- Better integration with WordPress, leveraging its features and user base
- More comprehensive documentation and learning resources
Cons of WooCommerce
- Can be resource-intensive, especially for larger stores
- Potentially higher costs due to premium extensions and themes
- More complex setup and configuration process for advanced features
Code Comparison
WooCommerce (PHP):
add_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
add_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
Smartstore (C#):
public override async Task<IActionResult> Index()
{
var model = await _productService.GetProductsAsync();
return View(model);
}
WooCommerce uses WordPress action hooks for content wrapping, while Smartstore employs a more traditional MVC approach with controller actions. WooCommerce's code is more tightly integrated with WordPress, whereas Smartstore offers a standalone e-commerce solution with potentially more flexibility in terms of customization and scalability.
Both platforms have their strengths, with WooCommerce excelling in WordPress integration and community support, while Smartstore provides a more independent and potentially more performant solution for larger e-commerce projects.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME

Ready. Sell. Grow.
A modular, scalable, and ultra-fast open-source all-in-one eCommerce platform built on ASP.NET Core 10.
Try Online ∙ Developer Guide ∙ Forum ∙ Marketplace ∙ Translations
Smartstore is a cross-platform, modular, scalable, and ultra-fast open-source all-in-one eCommerce platform built on ASP.NET Core 10, Entity Framework Core 10, Vue.js, Sass, Bootstrap, and more.
Smartstore includes all the essential features to create multi-language, multi-store, and multi-currency shops, with built-in AI capabilities for text and image generation powered by the world's leading AI providers â targeting desktop and mobile devices alike. It enables SEO-optimized, rich product catalogs with support for an unlimited number of products and categories, variants, bundles, datasheets, ESD, discounts, coupons, and much more.
A comprehensive set of tools for CRM & CMS, sales, marketing, payment, and shipping makes Smartstore a powerful all-in-one solution that meets all your needs.
Smartstore delivers a beautiful and fully configurable storefront out of the box, built with a high-level design approach using Sass, Bootstrap, and other modern components. The included Flex theme is modern, clean, and fully responsive â giving shoppers the best possible experience on any device.
The state-of-the-art architecture â with ASP.NET Core 10, Entity Framework Core 10, and a domain-driven design approach â makes Smartstore easy to extend, extremely flexible, and a pleasure to work with.
- :house: Website: https://www.smartstore.com
- :orange_book: Developer Guide: Smartstore Developer Guide
- :blue_book: User Guide: Smartstore User Guide
- :speech_balloon: Forum: https://community.smartstore.com
- :mega: Marketplace: https://community.smartstore.com/marketplace
- :earth_americas: Translations: https://translate.smartstore.com
- ▶️ Azure Marketplace: Smartstore on Azure Marketplace
Technology & Design
- State-of-the-art architecture with
ASP.NET Core 10,Entity Framework Core 10, and domain-driven design - Cross-platform: runs on Windows, Linux, and macOS
Dockersupport out of the box for easy deployment- Composable, extensible, and highly flexible through a modular architecture
- Highly scalable with full-page caching and web farm support
- Powerful theme engine for creating or customizing themes and skins with minimal effort, thanks to theme inheritance
- Point & Click theme configuration
- Liquid template engine: highly flexible templating for emails and campaigns, with auto-completion and syntax highlighting
- HTML-to-PDF converter: generates PDF documents from standard HTML templates, greatly simplifying PDF output customization
- Consistent use of modern components such as
Vue.js,Sass, andBootstrapacross both frontend and backend - Intuitive shop management through a modern, clean UI
Key Features
- Multi-store support
- Multi-language with full RTL (right-to-left) and bidirectional text support
- Multi-currency support
- Product bundles, variants, attributes, ESD, tier pricing, cross-selling, and more
- Sophisticated marketing and promotion capabilities (gift cards, reward points, discounts of any kind, and more)
- AI-powered features for text and image generation, image editing, and image composition
- CMS Page Builder: create compelling, sales-driving content without any coding, using a powerful WYSIWYG editor with a CSS grid system
- Reviews and ratings
- Media Manager: powerful, lightning-fast media file explorer
- Rule Builder: visual business rule creation with dozens of predefined rules out of the box
- Search framework with faceted search support â ultra-fast results even with millions of items
- Extreme scalability through output caching,
Redis, andMicrosoft Azuresupport - Tree-based permission management (ACL) with inheritance support
- Comprehensive import/export framework (profiles, filters, mapping, projections, scheduling, deployment, and more)
- Blog, forum, polls, custom pages, and HTML content
- CMS Menu Builder: visual manager for all menu types â modify existing menus or create your own and place them anywhere
- Modern, clean, SEO-optimized, and fully responsive
Bootstrap-based theme - Hierarchical SEO slug support, e.g. samsung/galaxy/s22/32gb/white
- Trusted Shops pre-certification and full EU GDPR compliance
- 100% compliant with German law
- Sales, customer, and inventory management
- Comprehensive CRM features
- Powerful layered navigation
- Numerous payment and shipping providers and options
- Wallet: supports full or partial order payment via credit account
- TinyImage: achieves ultra-high image compression rates (up to 80%) with WebP support
- Preview Mode: easily test themes and stores before going live
- RESTful Web API
AI Features
Smartstore comes with a built-in AI framework that brings generative AI directly into the merchant workflow â no third-party plugins required.
Capabilities
- Text generation: AI-assisted creation and optimization of product descriptions, meta tags, category texts, and other shop content
- Image generation: Create product and marketing images from text prompts directly within the backend
- Image editing: Modify and enhance existing images using AI (background removal, retouching, style transfer, and more)
- Image composition: Combine and merge multiple images into a single, cohesive result
Supported AI Providers
Smartstore integrates with all major AI providers through a unified, provider-agnostic abstraction layer. Switch or combine providers at any time without changing your workflow:
| Provider | Text Generation | Image Generation |
|---|---|---|
| OpenAI / ChatGPT | â | â |
| Google Gemini | â | â |
| Anthropic Claude | â | â |
| DeepSeek | â | â |
| Ollama (self-hosted) | â | â |
Getting Started
System Requirements
Supported Operating Systems
- Windows 10 or higher / Windows Server 2016 or higher
- Ubuntu 18.04+
- Debian 11+
- macOS 10.11+
Supported Database Systems
- Microsoft SQL Server 2016 Express or higher
- MySQL 8.0+
- PostgreSQL 11+
- SQLite 3.31+
Upgrading from Smartstore.NET 4.2
Smartstore 5+ is a port of Smartstore.NET 4 â based on the classic .NET Framework 4.7.2 â to the modern ASP.NET Core 10 platform. Existing instances based on classic ASP.NET MVC can be upgraded seamlessly. To upgrade, simply replace the application files on your server (keep the App_Data directory intact) and all your data will be migrated to the new system automatically. See the documentation for detailed installation and upgrade instructions.
:information_source: Upgrading from versions earlier than 4.2 is not supported. Please migrate to Smartstore.NET 4.2 first, then upgrade to Smartstore 5+.
Visual Studio
- Clone the repository:
git clone https://github.com/smartstore/Smartstore.gitand check out themainbranch. - Download Visual Studio 2026 (any edition).
- Open
Smartstore.slnand wait for Visual Studio to restore all NuGet packages. - Set
Smartstore.Webas the startup project and run it.
Repository Structure
| Project | Description |
|---|---|
Smartstore | Common low-level, application-agnostic infrastructure: bootstrapper, modularity engine, caching, pub/sub, imaging, type conversion, I/O, templating, scheduling, utilities, and extension methods |
Smartstore.Data | Database providers |
Smartstore.Core | Application-specific modules: catalog, checkout, identity, security, localization, logging, messaging, rules engine, search engine, theme engine, migrations, and more |
Smartstore.Web.Common | Common web features: custom MVC infrastructure, bundling, Tag Helpers, HTML helpers, and more |
Smartstore.Modules | All module and plugin projects |
Smartstore.Web | Entry host project: controllers, model classes, themes, and static assets |
Building Smartstore
Option 1 â Publish from Visual Studio
- Open the Smartstore solution in Visual Studio 2026.
- Switch to the Release configuration.
- Rebuild the solution.
- Publish the Smartstore.Web host project.
Option 2 â Run a build script
Run the build script for your target platform from the build directory: build.{Platform}.cmd. The output is placed in build/artifacts/Community.{Version}.{Platform} and a zip archive is created in build/artifacts/ automatically.
By default, the script produces a self-contained, platform-specific application that bundles the ASP.NET runtime, so it runs on any machine without a pre-installed .NET runtime.
Smartstore uses Nuke as its build automation solution. You can customize the build process by editing src/Smartstore.Build/Smartstore.Build/Build.cs.
About the src/Smartstore.Web/Modules Directory
During the build, all modules in src/Smartstore.Modules/ are detected, compiled, and placed in src/Smartstore.Web/Modules/. The runtime loads modules dynamically from this directory. During development this folder is not required â you can safely delete it at any time.
Creating Docker Images
Run build/dockerize.{Platform}[.nobuild].sh to create a Docker image.
dockerize.linux.sh
Builds a Debian Linux base image with the full ASP.NET runtime, compiles the solution, and publishes a framework-dependent application inside the container. Also installs the native wkhtmltopdf library required for PDF generation.
dockerize.linux.nobuild.sh
Faster alternative â skips the build step. Requires a pre-built artifact in build/artifacts/Community.{Version}.linux-x64. Creates a Debian Linux base image with only the ASP.NET runtime dependencies and copies the artifact. Also installs wkhtmltopdf.
dockerize.windows.nobuild.sh
Creates a Windows Nano Server base image with only the ASP.NET runtime dependencies and copies the artifact from build/artifacts/Community.{Version}.win-x64. Requires the Docker engine to be running a Windows image.
Creating Docker Containers
Run compose.{DbSystem}.sh to create a ready-to-use Docker container that includes a database server.
compose.mysql.sh
Creates a composite Docker container with the Smartstore application image and the latest MySQL image.
compose.sqlserver.sh
Creates a composite Docker container with the Smartstore application image and the latest MS SQL Server image.
Try It Online
We provide a live demo so you can explore Smartstore without a local installation. Test all features in both the storefront and the backend. Note that the backend demo is shared â other testers may modify data simultaneously.
- Storefront (User:
demo, Password:1234) - Backend (User:
demo, Password:1234)
License
Smartstore Community Edition is released under the AGPL license.
⭐ Star this repository to stay up to date, follow our progress, and never miss a new release. Contributions and community involvement are always welcome.
Top Related Projects
ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
PrestaShop is the universal open-source software platform to build your e-commerce solution.
Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
A free shopping cart system. OpenCart is an open source PHP-based online e-commerce solution.
A customizable, open-source ecommerce platform built on WordPress. Build any commerce solution you can imagine.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot