Service

Packages

Usage of reusable packages (libraries) by EIT services.

Overview

EIT services leverage a set of pre-built, reusable packages to simplify common integrations and reduce development effort. These packages provide standardized solutions for essential functionalities such as:

  • Relational database interactions (e.g., PostgreSQL, SQL Server)
  • NoSQL database support (e.g., MongoDB, Redis)
  • Messaging (e.g., Kafka, RabbitMQ)
  • Monitoring and logging (e.g., structured logging, metrics collection)
  • Testing utilities (e.g., integration and unit testing frameworks)
  • HTTP request processing (e.g., API clients, middleware)
  • And more...

By using these packages, developers can focus on business logic rather than solving recurring technical challenges.

Package Repositories

All package repositories follow a consistent naming convention using the dotnet- prefix, making them easy to identify and manage.

Examples of repository naming conventions:

  • dotnet-persistence-ef – Entity Framework-based persistence layer
  • dotnet-integration-tests – Common utilities for integration testing

CI/CD Automation

CI/CD pipelines are predefined using standardized pipeline templates, ensuring that package builds, tests, and releases are consistently automated across all services. This approach improves development efficiency and quality control.

Package Distribution

Packages are versioned and distributed as NuGet packages, making them easily accessible via the NuGet feed.

Distribution Approaches:

  1. Shared Platform Repository:
    • Packages are published to a central NuGet feed (upstream repository).
    • Available for all services across the platform.
    • Ensures consistency and reusability across projects.
  2. Project-Specific Packages:
    • Packages can also be included directly within individual projects when specific customizations are possible.
    • Helps in cases where project-specific modifications are necessary without impacting the shared platform repository.

Examples of package repositories

Below are some examples of existing EIT package repositories:


Benefits of Using Packages

  • Standardization: Ensures uniform implementation across services.
  • Faster Development: Reduces time spent on repetitive integrations.
  • Improved Maintainability: Easier updates and bug fixes across multiple projects.
  • Enhanced Quality: Pre-tested and validated solutions improve overall platform reliability.
  • Consistent Security: Security best practices are implemented across all packages.

Summary

EIT's reusable packages provide a consistent, efficient, and reliable approach to handling common integrations, allowing developers to focus on building feature-rich services. The centralized management, automated CI/CD, and standardized distribution methods ensure seamless adoption across all projects.


Copyright © 2025. All rights reserved.