Skip to content

A lightweight collection of foundational .NET libraries for standardizing technical and functional development with reusable components.

License

Notifications You must be signed in to change notification settings

PosInformatique/PosInformatique.Foundations

Repository files navigation

PosInformatique.Foundations

PosInformatique.Foundations icon

PosInformatique.Foundations is a collection of small, focused .NET libraries that provide simple, reusable building blocks for your applications.

The goal is to avoid shipping a monolithic framework by creating modular NuGet packages, each addressing a single responsibility.

✨ Philosophy

  • Granular: each library is independent, lightweight, and minimal.
  • Composable: you bring exactly the pieces you need, nothing more.
  • Practical: packages can be foundational (value objects, abstractions, contracts) or technical utilities (helpers, validation rules, extensions).
  • Consistent: all packages follow the same naming convention and version alignment.
  • Standards-based: whenever possible, implementations follow well-known standards (e.g. RFC 5322 for email addresses, E.164 for phone numbers,...).

➡️ Each package has no strong dependency on another. You are free to pick only what you need.
➡️ These libraries are not structuring frameworks; they are small utilities meant to fill missing gaps in your applications.

📦 Packages Overview

You can install any package using the .NET CLI or NuGet Package Manager.

Package Description NuGet
PosInformatique.Foundations.EmailAddresses icon PosInformatique.Foundations.EmailAddresses Strongly-typed value object representing an email address with validation and normalization as RFC 5322 compliant. NuGet
PosInformatique.Foundations.EmailAddresses.EntityFramework icon PosInformatique.Foundations.EmailAddresses.EntityFramework Entity Framework Core integration for the EmailAddress value object, including property configuration and value converter for seamless database persistence. NuGet
PosInformatique.Foundations.EmailAddresses.FluentValidation icon PosInformatique.Foundations.EmailAddresses.FluentValidation FluentValidation integration for the EmailAddress value object, providing dedicated validators and rules to ensure RFC 5322 compliant email addresses. NuGet
PosInformatique.Foundations.EmailAddresses.Json icon PosInformatique.Foundations.EmailAddresses.Json System.Text.Json converter for the EmailAddress value object, enabling seamless serialization and deserialization of RFC 5322 compliant email addresses. NuGet
PosInformatique.Foundations.People icon PosInformatique.Foundations.People Strongly-typed value objects for first and last names with validation and normalization. NuGet
PosInformatique.Foundations.People.DataAnnotations icon PosInformatique.Foundations.People.DataAnnotations DataAnnotations attributes for FirstName and LastName value objects. NuGet
PosInformatique.Foundations.People.EntityFramework icon PosInformatique.Foundations.People.EntityFramework Entity Framework Core integration for FirstName and LastName value objects, providing fluent property configuration and value converters. NuGet
PosInformatique.Foundations.People.FluentAssertions icon PosInformatique.Foundations.People.FluentAssertions FluentAssertions extensions for FirstName and LastName to avoid ambiguity and provide Should().Be(string) assertions (case-sensitive on normalized values). NuGet
PosInformatique.Foundations.People.FluentValidation icon PosInformatique.Foundations.People.FluentValidation FluentValidation extensions for FirstName and LastName value objects. NuGet
PosInformatique.Foundations.People.Json icon PosInformatique.Foundations.People.Json System.Text.Json converters for FirstName and LastName, with validation and easy registration via AddPeopleConverters(). NuGet

Note: Each package is completely independent. You install only what you need.

🚀 Why use PosInformatique.Foundations?

  • Avoid reinventing common value objects and utilities.
  • Apply standards-based implementations (RFC, E.164, ...).
  • Improve consistency across your projects.
  • Get lightweight, modular libraries tailored to single responsibilities.
  • Add missing building blocks to your projects without introducing a heavyweight framework.

📄 License

Licensed under the MIT License.

About

A lightweight collection of foundational .NET libraries for standardizing technical and functional development with reusable components.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages