CodeDesignPlus.Net.EventStore.PubSub provides a robust framework for implementing publish-subscribe patterns in event sourcing within .NET Core applications. This library simplifies the process of publishing and subscribing to events, enabling developers to build scalable and decoupled event-driven systems.
$ dotnet add package CodeDesignPlus.Net.EventStore.PubSub
.NET Core archetype for efficient development, unit testing, and continuous integration of NuGet libraries.
Explore the docs »
About Me Hello! I am an archetype designed to assist you in creating .NET Core libraries distributed as NuGet packages. I've been crafted with the best practices and common patterns in mind to make your life easier.
Options Pattern: I facilitate configuration and customization of your libraries using the options pattern.
Dependency Injection: I employ the mechanism of dependency injection to ensure effective decoupling and efficient service management. This not only eases testing and maintainability of your code but also promotes a modular and flexible structure.
Abstractions: With the interfaces and abstract classes I offer, you can develop decoupled and maintainable components.
Unit Tests: I include a dedicated project for unit tests, equipped with tools to validate data annotations, loggers, and more.
Node Utilities: I come packed with several Node.js utilities, like linters and Commitizen, to assist you in adhering to commit conventions.
In the package.json, I offer several handy scripts:
Furthermore, I integrate various dependencies and devDependencies to streamline version control, linting, and commit management, such as commitizen, husky, and lint-staged.
Efficient and maintainable software creation not only demands coding skills but also the right tools that fit our needs and streamline our workflow. The tools and technologies we employ often mirror our priorities in terms of efficiency, security, collaboration, and other pivotal aspects of software development. Below are the cornerstone tools and technologies that underpin this archetype:
This archetype comes with a preconfigured continuous integration pipeline, streamlining the automation of crucial tasks such as testing, building, packaging, and deployment. Thanks to this pipeline:
Beyond the continuous integration pipeline, this archetype brings several benefits that enhance and standardize the development and collaboration process:
To dive into this archetype and set up your development environment, follow these steps:
Build > Restore NuGet Packages from the menu to restore dependencies.Build > Build Solution.Test > Run All Tests.Open the project folder in VS Code.
Launch the integrated terminal (Ctrl + ~).
Install the Recommended Extensions:
code --install-extension amazonwebservices.aws-toolkit-vscode
code --install-extension dbaeumer.vscode-eslint
code --install-extension eamodio.gitlens
code --install-extension esbenp.prettier-vscode
code --install-extension github.vscode-github-actions
code --install-extension ms-azuretools.vscode-docker
code --install-extension ms-dotnettools.csharp
code --install-extension ms-dotnettools.vscode-dotnet-runtime
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-vscode-remote.remote-wsl
code --install-extension ms-vscode.cpptools
code --install-extension ms-vscode.cpptools-extension-pack
code --install-extension ms-vscode.cpptools-themes
code --install-extension nrwl.angular-console
code --install-extension PKief.material-icon-theme
code --install-extension SonarSource.sonarlint-vscode
code --install-extension Tyriar.lorem-ipsum
code --install-extension vivaxy.vscode-conventional-commits
Build and Management Procedures:
dotnet tool install --global dotnet-sonarscanner
dotnet restore
dotnet build
dotnet test
dotnet format
npm install
npm run prepare
dotnet pack -c Release /p:Version=1.0.0 # Ensure to set the appropriate version
Recommended Extensions for VS Code: These extensions enrich the development experience within VS Code:
For more information regarding the library, you can visit our documentation at CodeDesignPlus Doc
Refer to issues for a list of proposed features and known issues.
git checkout -b features/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Distributed under the MIT License. See LICENSE for more information.
CodeDesignPlus - @CodeDesignPlus - codedesignplus@outlook.com
Project Link: CodeDesignPlus.Net.EventStore.PubSub
We want to thank each member of the Latin development community in which we participate, contributing content daily to continue growing together.