What problem does it solve?
It helps you avoid inconsistent, hard-to-maintain BFF patterns by providing a clear architecture for UI-facing .NET microservices that orchestrate workflows, enforce auth, and decide when to use workflow-driven writes versus direct read APIs.
Core Features & Use Cases
- Single-purpose controller actions: One API action per controller file to keep endpoints composable and reviewable (versioned under V1).
- Workflow-first for write operations: Use Netwealth.Workflow via
IWorkflowClient for create/edit/delete so approvals, audit trails, and permission-based action filtering are enforced.
- Direct API calls for reads: Use Refit client(s) to fetch data quickly for Get/Query/Search without workflow overhead.
- Consistent integration patterns: Dedicated Refit API client files per backend microservice, DI extension methods with
services.Add{ServiceName}(), and common NwController conventions.
- Security & caching structure: JWT auth with Kong integration,
AuthenticatedUserService via middleware context, and FusionCache with Redis for distributed caching (plus optional Kafka background consumers).
Quick Start
Create a new .NET 10 UI BFF project following the repo’s structure (V1 controllers, per-microservice Refit clients, validators, workflow module, and security middleware) and then implement write endpoints as workflow-triggering controller files while implementing read endpoints as direct API client calls.