{"id":19453830,"url":"https://github.com/osstotalsoft/nbb","last_synced_at":"2025-04-05T20:06:45.533Z","repository":{"id":34131604,"uuid":"166371135","full_name":"osstotalsoft/nbb","owner":"osstotalsoft","description":".Net Building Blocks","archived":false,"fork":false,"pushed_at":"2025-02-22T08:07:02.000Z","size":6986,"stargazers_count":127,"open_issues_count":9,"forks_count":14,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-29T19:04:45.974Z","etag":null,"topics":["clean-architecture","cqrs","ddd","dotnet","eventdriven","eventsourcing","messaging-services","microservices"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osstotalsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-18T08:30:22.000Z","updated_at":"2025-02-22T08:05:53.000Z","dependencies_parsed_at":"2024-12-22T18:11:47.554Z","dependency_job_id":"067b6ab4-4d8e-4dd9-bc7c-76fb0689d128","html_url":"https://github.com/osstotalsoft/nbb","commit_stats":null,"previous_names":[],"tags_count":151,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osstotalsoft%2Fnbb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osstotalsoft%2Fnbb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osstotalsoft%2Fnbb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osstotalsoft%2Fnbb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osstotalsoft","download_url":"https://codeload.github.com/osstotalsoft/nbb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393569,"owners_count":20931812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clean-architecture","cqrs","ddd","dotnet","eventdriven","eventsourcing","messaging-services","microservices"],"created_at":"2024-11-10T17:06:26.672Z","updated_at":"2025-04-05T20:06:45.514Z","avatar_url":"https://github.com/osstotalsoft.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"NBB [![CI](https://github.com/osstotalsoft/nbb/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/osstotalsoft/nbb/actions/workflows/ci.yml)\n===============\n\u003e.Net Building Blocks\n\n![Building blocks](assets/img/icon.png)\n\nOur philosophy\n----------------\nBuild cutting-edge, cloud-ready, scalable, maintainable and fun LOB services with .Net Building Blocks\n\nCombining 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.\n\nApplying 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.\n\nApplying concepts from the Microservices architectural style, you get a new beginning with every new bounded context (module).\n\nArchitectural considerations\n----------------\n\u003e The goal of software architecture is to minimize the human resources required to build and maintain the required system.\n\u003e\n\u003e -- \u003ccite\u003eRobert C. Martin\u003c/cite\u003e\n\nWith NBB you can power a great diversity of architectures from a Monolithic one to a Multi-Container Microservices based one.\nIt is important to mention that NBB does not impose any kind of architecture.\n\nThis repo contains a sample Microservices application decomposed around three bounded contexts: Contracts, Invoices and Payments.\nThey are autonomous and the integration is based on events delivered with NATS.\nThe sample application contains scripts for building CI / CD pipelines for docker-compose or kubernetes.\n\nThe blocks\n----------------\n* [`NBB.Core`](./src/Core#readme) - core abstractions and functionality that other packages rely upon\n* [`NBB.Application`](./src/Application#readme) - application layer specific functionality\n* [`NBB.Domain`](./src/Domain#readme) - building blocks for domain modelling in DDD \n* [`NBB.Data`](./src/Data#readme) - data access abstractions and implementations\n* [`NBB.Messaging`](./src/Messaging#readme) - distributed application infrastructure that enables loosely-coupled, message-based asynchronous communication\n* [`NBB.EventStore`](./src/EventStore#readme) - event store functionality\n* [`NBB.Correlation`](./src/Correlation#readme) - facilitates the grouping of all requests, messages, logs, and traces belonging to a business flow\n* [`NBB.ProcessManager`](./src/Orchestration#readme) - a way of orchestrating your events\n* [`NBB.MultiTenancy`](./src/MultiTenancy#readme) -  building blocks for multi-tenant applications\n* [`NBB.ProjectR`](./src/Projections/NBB.ProjectR#readme) - functional style read-model projections inspired by [Elm](https://guide.elm-lang.org/)\n\nThe samples\n----------------\nPlease see our [`samples`](./samples#README.md) folder to get you started with various architectures built with NBB.\n\nThe templates\n-------------\n\n[`NBB templates`](https://github.com/osstotalsoft/nbb-templates#readme)\nis a collection of custom templates to be used by the dotnet cli (dotnet new command).\n\n## License\n\nNBB is licensed under the [MIT](LICENSE) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosstotalsoft%2Fnbb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosstotalsoft%2Fnbb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosstotalsoft%2Fnbb/lists"}