2

PesaCore API — .NET 10 Fintech Platform

ASP.NET Core 10 / Clean Architecture fintech API exploring modern .NET idioms — CQRS via MediatR, Polly retry + circuit breaker, FluentValidation, EF Core, OpenTelemetry, Serilog, and an IIS / Windows Server hosting profile.

Preview

PesaCore is a lightweight ASP.NET Core 10 / C# fintech API built as a hands-on .NET fluency signal pinned on the GitHub profile. It demonstrates production-shape modern-.NET idioms in a small, reviewable codebase — bridging the .NET 4.5 / Windows Server era at Veracode (Visual Studio plugin platform team, 2015–2018) to the current .NET LTS ecosystem.

Source: github.com/ericgitangu/pesacore-api

What's in the repo

A single ASP.NET Core 10 minimal-host project plus a sibling xUnit test project, intentionally small enough to read end-to-end in one sitting. The interesting parts:

  • Modern .NET surface — nullable reference types, file-scoped namespaces, records and required modifiers, pattern-matching switch expressions on exceptions
  • CQRS via MediatR — request/response handlers with an idempotency pipeline behavior keyed on the Idempotency-Key header so retried POSTs don't double-debit
  • Resilience via Polly — retry policy with exponential jitter, plus a circuit breaker around outbound HTTP and database calls
  • Validation — FluentValidation at the request boundary, separate from domain invariants in the handlers
  • Persistence — Entity Framework Core with a SQLite default for local dev and an Azure SQL connection profile (appsettings.Production.json) for managed-identity auth
  • Observability — OpenTelemetry instrumentation (ASP.NET Core, HttpClient, EF Core, runtime, process) exporting via OTLP, plus Serilog with correlation-id middleware so every log line ties back to one request
  • Docs — Scalar OpenAPI for interactive API documentation
  • Hosting flexibility — ships an IIS hosting profile (web.config, IISProfile.pubxml, appsettings.IIS.json) so the same binary runs on predominantly-on-prem Windows Server environments without a code change

Why it exists

I wrote PesaCore as a focused modern-.NET fluency exercise. The .NET 4.5 / Visual Studio plugin work I owned at Veracode (2015–2018) is the most direct on-prem-Windows-Server precedent in my history; PesaCore is the modern-.NET-LTS counterpart — a reviewable codebase that demonstrates current-idiom familiarity (nullable reference types, records, pattern-matching, minimal hosting, OpenTelemetry, EF Core) without anchoring the conversation to seven-year-old work.

Stack

C# · .NET 10 · ASP.NET Core · MediatR (CQRS) · Polly · FluentValidation · Entity Framework Core · AutoMapper · Dapper · Serilog · OpenTelemetry · Scalar OpenAPI · xUnit · FluentAssertions · Moq · WebApplicationFactory · IIS / Windows Server hosting profile · Azure SQL · Managed Identity