• Stars
    star
    127
  • Rank 282,790 (Top 6 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 6 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

.Net Building Blocks

NBB CI

.Net Building Blocks

Building blocks

Our philosophy

Build cutting-edge, cloud-ready, scalable, maintainable and fun LOB services with .Net Building Blocks

Combining domain-driven design tactical patterns with clean architecture by decoupling the business model and use-cases of the application with the rest of the technology and infrastructure, you get a technology-independent, hand-crafted, stable, encapsulated business model that will evolve over time, regardless the UI, Database, Messaging or other infrastructure or technology.

Applying concepts from EDA, CQRS or ES we decouple furthermore the business domain from the read-side so that the domain would not change when the UI views needs to change.

Applying concepts from the Microservices architectural style, you get a new beginning with every new bounded context (module).

Architectural considerations

The goal of software architecture is to minimize the human resources required to build and maintain the required system.

-- Robert C. Martin

With NBB you can power a great diversity of architectures from a Monolithic one to a Multi-Container Microservices based one. It is important to mention that NBB does not impose any kind of architecture.

This repo contains a sample Microservices application decomposed around three bounded contexts: Contracts, Invoices and Payments. They are autonomous and the integration is based on events delivered with NATS. The sample application contains scripts for building CI / CD pipelines for docker-compose or kubernetes.

The blocks

  • NBB.Core - core abstractions and functionality that other packages rely upon
  • NBB.Application - application layer specific functionality
  • NBB.Domain - building blocks for domain modelling in DDD
  • NBB.Data - data access abstractions and implementations
  • NBB.Messaging - distributed application infrastructure that enables loosely-coupled, message-based asynchronous communication
  • NBB.EventStore - event store functionality
  • NBB.Correlation - facilitates the grouping of all requests, messages, logs, and traces belonging to a business flow
  • NBB.ProcessManager - a way of orchestrating your events
  • NBB.MultiTenancy - building blocks for multi-tenant applications
  • NBB.ProjectR - functional style read-model projections inspired by Elm

The samples

Please see our samples folder to get you started with various architectures built with NBB.

The templates

NBB templates is a collection of custom templates to be used by the dotnet cli (dotnet new command).

License

NBB is licensed under the MIT license.

More Repositories

1

generator-webapp-rocket

React web application sample with GraphQL, Apollo Client and AxaGuilDEv Oidc Client integration.
JavaScript
46
star
2

jsbb

JavaScript building blocks
JavaScript
42
star
3

atlas

Atlas is an UI designer for Netflix Conductor https://netflix.github.io/conductor/
JavaScript
38
star
4

generator-graphql-rocket

GraphQL server sample with Apollo Server, Koa middleware, database reads using Prisma or Knex JS, and/or REST API consumer, token validation, messaging integration with Redis and Nats and many other cool features.
JavaScript
38
star
5

bifrost

Api gateway written in GO
Go
31
star
6

rocket-webapp-components

React components for faster and easier web development. Build your own design system with Core components.
JavaScript
30
star
7

nodebb

NodeJs components
JavaScript
27
star
8

rocket-toolkit

A collection of plugins and other GraphQL utilities.
TypeScript
25
star
9

rusi

Runtime Sidecar
Go
24
star
10

functional-guy

functional programming guild
Haskell
23
star
11

helm-charts

Helm charts for OSS TotalSoft
21
star
12

rocket-ui

A collection of reusable and composable React components built on top of Material UI core
JavaScript
20
star
13

rocket-ui-ts

A collection of reusable and composable React components written in TypeScript built on top of Material UI Core V5
TypeScript
19
star
14

platform-controllers

Kubernetes first, multi-tenant infrastructure provisioning services
Go
19
star
15

oidc-jwt-go

OpenID Connect package to secure your API using JWT Bearer tokens
Go
15
star
16

LambdaPayroll

Payroll computation algebra inspired by Lambda Calcullus
F#
13
star
17

osstotalsoft.github.io

10
star
18

nbb-interactive

A set of interactive scripts and jupyter notebooks for playing with NBB apis
F#
9
star
19

rules-algebra

Haskell
9
star
20

nbb-templates

C#
8
star
21

nbb-extras

C#
8
star
22

nbb-contrib

NBB contrib packages
C#
8
star