Try locally

See an account travel from CRM to ERP.

Run two business systems, their adapters, the Resolver, and the management WebApp together. The sample defaults to the NimBus Service Bus emulator and SQL Server; no Azure account is required.

1. Prepare your machine

  • .NET 10 SDK and Git.
  • Node.js 22+ for the CRM, ERP, and management frontends.
  • A running Docker-compatible container runtime for SQL Server and local storage resources.

Use the default emulator and SQL configuration below. If you previously set NIMBUS_SB_EMULATOR or NIMBUS_STORAGE_PROVIDER, clear those overrides first.

2. Clone and run

From a terminal, install the sample’s frontend dependencies and launch its Aspire AppHost:

git clone https://github.com/akakaule/NimBus.git
cd NimBus
npm --prefix samples/CrmErpDemo/Crm.Web install
npm --prefix samples/CrmErpDemo/Erp.Web install
dotnet run --project samples/CrmErpDemo/CrmErpDemo.AppHost

The first build downloads dependencies and container images. Open the Aspire dashboard URL printed in the terminal. Wait for provisioner to finish and the application resources to become healthy.

The emulator supports the sample’s messaging surface for local development. It is not a production broker or a substitute for testing against Azure Service Bus.

3. Follow the account

  1. Open crm-web from the dashboard and create an account.
  2. Open erp-web and find the corresponding customer.
  3. Refresh CRM and look for the ERP customer identifier.
  4. Open nimbus-ops to inspect the related events and processing history.

The sample guide explains the adapters, topology, storage options, and recovery scenarios.

4. Explore recovery

Use the sample guide’s failure scenario to make a downstream operation fail. Inspect the failed event in nimbus-ops, restore the dependency, and resubmit. Observe the blocked session resume and its deferred messages replay.

Watch the recorded recovery walkthrough or try the browser simulation without running the sample.

Build your own integration

dotnet add package Akaule.NimBus.SDK

Follow Building Adapters to define events, register handlers, and configure receiver hosting for a .NET Worker or Azure Function.

To use a real namespace with the sample, set NIMBUS_SB_EMULATOR=false and configure its ConnectionStrings:servicebus user secret. Cosmos DB is optional; the sample guide covers selecting it explicitly.

Ready to deploy? The deployment guide covers Azure prerequisites, permissions, the CLI, and CI/CD pipelines.