Skip to content

FEDERIN/CoreSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

βš™οΈ CoreSystem Ecosystem

Cloud-Native β€’ Modular β€’ Observability-First β€’ Production-Ready


πŸ“– Overview

CoreSystem is a modular ecosystem of reusable .NET libraries focused on simplifying the development of modern distributed systems and high-performance microservices.

The project provides production-ready building blocks for solving common cross-cutting concerns such as:

  • Distributed observability
  • Request idempotency
  • Logging & tracing
  • Infrastructure abstraction
  • Cloud-native integrations
  • Scalable API development

CoreSystem is designed around clean architecture principles, extensibility, and operational excellence.


✨ Ecosystem Features

Category Description
πŸ— Modular Architecture Independent reusable NuGet packages
πŸ“Š Observability OpenTelemetry + Metrics + Logging
⚑ High Performance Optimized middleware-first design
🧩 Extensibility Provider-based architecture
☁ Cloud-Native Docker & distributed systems ready
πŸš€ Developer Experience Minimal setup & plug-and-play integrations

🧠 Ecosystem Architecture

graph TD

    APIs --> CoreSystem

    CoreSystem --> Observability
    CoreSystem --> Idempotency

    Observability --> OpenTelemetry
    Observability --> Serilog
    Observability --> Prometheus

    Idempotency --> PostgreSQL
    Idempotency --> Redis
Loading

πŸ“¦ Available Packages

Package Description Status
FGutierrez.Core.Observability OpenTelemetry, Serilog, Metrics & Health Checks βœ… Stable
FGutierrez.Core.Idempotency Distributed idempotency middleware with Redis/PostgreSQL βœ… Stable

⚑ FGutierrez.Core.Observability

Production-grade observability integrations for ASP.NET Core applications.

Features

  • OpenTelemetry tracing
  • Runtime & HTTP metrics
  • Serilog integration
  • Health checks
  • OTLP exporter support
  • Prometheus-ready metrics

Included Components

Extensions/
β”œβ”€β”€ HealthCheckEndpointsExtensions.cs
β”œβ”€β”€ HealthCheckExtensions.cs
β”œβ”€β”€ OpenTelemetryMetricsExtensions.cs
β”œβ”€β”€ OpenTelemetryTracingExtensions.cs
└── SerilogExtensions.cs

🎟️ FGutierrez.Core.Idempotency

Distributed idempotency engine for ensuring critical operations execute exactly once.

Features

  • Redis provider
  • PostgreSQL provider
  • Response replay support
  • Duplicate request prevention
  • OpenTelemetry metrics
  • Middleware-based execution pipeline

Internal Architecture

Storage/
β”œβ”€β”€ PostgreSQL/
β”‚   └── PostgresIdempotencyStorage.cs
└── Redis/
    └── RedisIdempotencyStorage.cs

πŸ— Repository Structure

CoreSystem/
β”‚
β”œβ”€β”€ docs/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ Core.Observability/
β”‚   β”‚   β”œβ”€β”€ Extensions/
β”‚   β”‚   β”œβ”€β”€ Options/
β”‚   β”‚   └── ObservabilityDependencyInjection.cs
β”‚       └── LICENSE
β”‚       └── README.md
β”‚   β”‚
β”‚   └── Core.Idempotency/
β”‚       β”œβ”€β”€ Middleware/
β”‚       β”œβ”€β”€ Storage/
β”‚       β”‚   β”œβ”€β”€ PostgreSQL/
β”‚       β”‚   └── Redis/
β”‚       β”œβ”€β”€ Diagnostics/
β”‚       β”œβ”€β”€ Models/
β”‚       β”œβ”€β”€ Options/
β”‚       └── Extensions/
β”‚       └── IdempotencyExtensions.cs
β”‚       └── LICENSE
β”‚       └── README.md

β”‚
β”œβ”€β”€ samples/
β”‚   └── Minimal.Test.Api/
β”‚       └── grafana/
β”‚       β”‚   β”œβ”€β”€ provisioning/
β”‚       β”‚   β”‚   β”œβ”€β”€ datasources/
β”‚       β”œβ”€β”€ docker-compose.yml
β”‚       β”œβ”€β”€ prometheus.yml
β”‚       β”œβ”€β”€ otel-collector-config.yml
β”‚       └── Program.cs
β”‚
β”œβ”€β”€ .github/
β”‚   └── workflows/
β”œβ”€β”€ LICENSE
β”œβ”€β”€ global.json
β”œβ”€β”€ CoreSystem.sln
└── README.md

πŸ— Technology Stack

Backend

  • .NET 8
  • ASP.NET Core Minimal APIs
  • Dapper
  • Middleware Pipeline

Observability

  • OpenTelemetry
  • Serilog
  • Prometheus
  • OTLP Exporter

Infrastructure

  • PostgreSQL
  • Redis
  • Docker
  • Grafana

πŸš€ Getting Started

Clone Repository

git clone https://github.com/FEDERIN/CoreSystem.git

Build Solution

dotnet build

Run Sample API

cd samples/Minimal.Test.Api
dotnet run

Run Full Observability Stack

docker compose up -d

This launches:

  • PostgreSQL
  • Redis
  • OpenTelemetry Collector
  • Prometheus
  • Grafana

πŸ“Š Observability Stack

CoreSystem promotes an Observability-First engineering model.

Included integrations:

Component Purpose
OpenTelemetry Distributed tracing
Prometheus Metrics collection
Grafana Visualization dashboards
Serilog Structured logging
Health Checks Runtime monitoring

πŸ§ͺ Engineering Principles

CoreSystem follows modern backend engineering practices:

  • Clean Architecture
  • SOLID principles
  • Middleware-first integrations
  • Provider-based extensibility
  • High cohesion / low coupling
  • Production-grade defaults
  • Cloud-native development

πŸ“Œ Current Focus

Completed

  • Distributed Observability
  • Idempotency Engine
  • Redis Support
  • PostgreSQL Support
  • OpenTelemetry Integration

Planned

  • Distributed Messaging
  • JWT Security Components
  • Rate Limiting
  • Distributed Cache
  • API Gateway Utilities
  • Kubernetes Helpers

🀝 Contributing

Contributions, ideas, and improvements are welcome.

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Open a Pull Request

πŸ“„ License

MIT License Β© Federin Pastor Gutierrez Ortiz


⭐ Support

If this ecosystem helps you, consider giving the repository a star on GitHub.

About

CoreSystem

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages