Northwind Analytics — the app
Northwind is the trading dataset almost every developer has met once: a small food wholesaler with customers, orders, products, suppliers, employees and shippers. This package turns it into a working MeshWeaver application rather than a database dump. It is meant for two readers: someone who wants to see what an analytics workspace on the mesh looks like, and a developer who wants a complete, readable example to copy.
Northwind ships as a module application: the mesh node app/Northwind hosts the whole
analytics workspace, and this package's tile opens straight into its
Dashboard. Any signed-in user of an installation that carries the
package can read it.
The surfaces
| Area | What it shows |
|---|---|
| Dashboard | the one-page overview — orders, revenue, top products |
| Annual report | the year in one report — pass ?Year= to pick it |
| Sales analysis | growth summaries by category and period |
| Top customers | who buys, how much, how often |
| Product overview | products, categories, discounts |
Behind those five entry points sit several dozen more views, grouped the way an analyst would ask:
- Sales — monthly sales trend, sales by category, a category compared with the previous year, quarterly performance, a sales map by country and regional analysis.
- Customers — segmentation, lifetime value, order frequency, purchase behaviour, retention and geographic distribution, plus a top-clients table with reward suggestions.
- Products and inventory — product performance trends, sales velocity, stock levels and the impact of discounts per product.
- Discounts — discount percentage, discount versus revenue, and a discount effectiveness report.
- People and partners — employee metrics and top sales representatives, supplier summaries and supplier analysis.
- Orders and finance — order counts, average order value, monthly order tables, revenue and a financial summary.
Every area is an ordinary reactive layout area over the same dimensional model, so a chart you see is a query you can copy.
One data cube under every view
The module joins orders and order details to products, categories, suppliers, customers, employees and regions in a single virtual data source, the Northwind data cube. Each row carries the order and its date, month and year, the customer, employee, supplier, category and region with their display names, the ship country, the product, quantity, unit price and amount. Every view slices that one cube, which is why the figures in the dashboard, the annual report and the detailed tables always agree.
Where the data comes from
The module imports the classic Northwind CSV files — categories, customers, employees and their territories, orders and order details, products, regions, shippers, suppliers and territories — at startup through the Data Import module into typed collections. That is the pattern to copy when you wire your own data. Nothing here is hand-drawn: change the data and every area updates, because the cube is built from live streams rather than a snapshot.
A typical walk through it
- Open the Dashboard for the overall picture.
- Open the Annual report and pick a year with
?Year=. - Drill into a question — which category grew, which customers matter most, whether discounts pay off — through the sales, customer and discount views.
- Open the source of the view you liked and copy its shape into your own module.
Fork it
The areas are plain C# (MeshWeaver.Northwind.Application) over a domain library
(MeshWeaver.Northwind.Domain) and a data-configuration library (MeshWeaver.Northwind.Model). Read
them as the worked example of data sources, a dimensional model and reactive chart binding, then
copy the shape into your own module.
What you get
The package is in the free tier. Getting it adds the Northwind tile and the full workspace described above; it requires the Store, Import and Maps packages, which an installation resolves for you.