What is GrandNode
GrandNode is an open-source e-commerce platform built on ASP.NET Core (.NET 10) and MongoDB. One installation runs a complete online store: the shop your customers see, the back office you run it from, and the extension points you use to connect payment providers, shipping carriers, tax engines and your own code. It supports B2C and B2B selling, several stores from one installation, marketplaces with independent vendors, and any number of languages and currencies. This article explains the parts you will meet, so the rest of the documentation makes sense.
The storefront
The storefront is the public website: home page, category and brand pages, product pages, search, cart, checkout, customer account, blog, news, knowledgebase and content pages. It is server-rendered by ASP.NET Core with Vue 3 and Bootstrap 5 for the interactive parts, so pages are fast and indexable. What it looks like is decided by the active theme. A fresh installation with sample data uses the Nordic theme; the other themes shipped in the repository are Default and Modern.

The Admin panel
The Admin panel at /admin is where administrators run the whole installation: catalog, orders, customers, marketing, content, reports, configuration of every store, settings, plugins and system tools. Only customers in the Administrators customer group (or a group you grant the admin permissions to) can sign in. The administrator account is created by the installation wizard. See A tour of the Admin panel.
The Store owner panel
The Store owner panel at /store is a reduced back office for a person who manages one store in a multi-store installation. A store manager is a customer in the Store manager customer group whose account is assigned to a store. They see the same kind of screens as an administrator — products, categories, orders, customers, discounts, landing pages, reports, payment, shipping and tax configuration, store-level settings — but only the data of their store, and nothing that affects the installation as a whole (plugins, permissions, system tools).

The Vendor panel
In a marketplace, products can belong to vendors — independent sellers who list their goods in your store. The Vendor panel at /vendor lets a vendor manage their own products, see and ship the orders that contain them, handle merchandise returns, read their vendor reviews and run reports. A vendor account is a customer in the Vendors customer group linked to a vendor record under Customers → Vendors.

Plugins
Plugins add providers to the platform without changing its code. The repository ships with plugins for:
- Payments — Cash on delivery, Stripe Checkout, BrainTree;
- Shipping — fixed rate, by weight, and shipping points (pickup);
- Tax — fixed rate and country/state/zip based;
- Discount rules — the standard set of conditions for discounts;
- External authentication — Facebook and Google sign-in;
- Widgets — Google Analytics, Facebook Pixel and the home page slider;
- Exchange rates — a currency rate provider;
- Themes — Nordic and Modern (the Default theme is built into the web project).
The installation wizard installs every plugin it finds, so they are ready to be configured. You manage them under Plugins → Local plugins.
Modules
Besides plugins, GrandNode has a few modules — parts of the application that can be switched on and off in App_Data/appsettings.json under FeatureManagement: the installer (Grand.Module.Installer), database migrations (Grand.Module.Migration), scheduled tasks (Grand.Module.ScheduledTasks) and the REST API (Grand.Module.Api, off by default).
How the pieces fit
| Part | Address | Who uses it |
|---|---|---|
| Storefront | / | Guests and registered customers |
| Admin panel | /admin | Administrators |
| Store owner panel | /store | Store managers of one store |
| Vendor panel | /vendor | Marketplace vendors |
| Database | MongoDB (or LiteDB for small setups) | The application |
Everything lives in one web application and one database, so there is nothing extra to deploy for the panels.
Related
Question not answered here? Ask the community on GitHub Discussions ↗