Skip to content

tfsdigital/shared-platform

Repository files navigation

Shared Libraries Project

Cross-cutting libraries used across bounded contexts (establishments, orders, products, notifications).

Feature Description
Caching Cache abstraction and Redis implementation
Core Domain base classes, events, identification
Correlation Correlation ID for distributed tracing
Handlers CQRS handler interfaces and base classes
Identity JWT, claims, and authorization helpers
Inbox Idempotent event consumption
Messaging Message bus abstraction (RabbitMQ)
Outbox Reliable event publishing
Publishing Domain event publishing
Queries Pagination and query models
Results Result pattern for error handling
Validations FluentValidation extensions and validators

Development

Build

dotnet build shared-platform.slnx

Test

dotnet test shared-platform.slnx

Code Coverage

chmod +x coverage.sh
./coverage.sh
# Opens coverage-report/index.html with the full report

Publishing a New Version

Versioning follows Semantic Versioning (major.minor.patch) via git tags:

git tag v1.2.3
git push origin v1.2.3

This triggers the release workflow, which builds, tests, and publishes all packages to GitHub Packages automatically.

GitHub Packages Setup

To publish NuGet packages to GitHub Packages with the existing release workflow, make sure the repository is hosted under the devfactorylabs owner and GitHub Actions is allowed to publish packages for this repository.

The workflow expects:

  • a tag in the format vX.Y.Z
  • GITHUB_TOKEN with packages: write permission
  • nuget.config committed with the github source

After the first successful release, packages will be available at:

https://github.com/orgs/devfactorylabs/packages?repo_name=shared-platform

To consume the packages locally, authenticate a NuGet source with a GitHub Personal Access Token that has at least read:packages:

dotnet nuget update source github \
  --source "https://nuget.pkg.github.com/devfactorylabs/index.json" \
  --username YOUR_GITHUB_USERNAME \
  --password YOUR_GITHUB_PAT \
  --store-password-in-clear-text

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors