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:

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

  1. Open the Dashboard for the overall picture.
  2. Open the Annual report and pick a year with ?Year=.
  3. Drill into a question — which category grew, which customers matter most, whether discounts pay off — through the sales, customer and discount views.
  4. 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.