Skip to content
View rodri-oliveira-dev's full-sized avatar
💻
Designing systems, writing code
💻
Designing systems, writing code

Sponsoring

@dotMorten
@nager

Block or report rodri-oliveira-dev

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rodri-oliveira-dev/README.md

Português | English | Español (Latinoamérica)

RO Architect

Rodrigo de Oliveira

Arquiteto de Software · Sistemas Distribuídos · .NET · Cloud

Software architect working hands-on with .NET, distributed systems, cloud, architecture governance, and open-source developer tooling.

Há mais de 20 anos, trabalho no desenvolvimento e na evolução de sistemas corporativos, com foco em arquitetura de software, integrações e modernização de aplicações. Procuro equilibrar necessidades de negócio, decisões técnicas e a realidade operacional dos sistemas.

Aqui compartilho ferramentas, bibliotecas e laboratórios open source que ajudam a transformar decisões de arquitetura e governança em código, testes e automação.

Links profissionais


Projetos selecionados

Ferramentas, bibliotecas e laboratórios que conectam decisões de arquitetura à implementação e à operação.

Ferramenta de governança arquitetural

Ajuda equipes a manter registros de decisão consistentes e rastreáveis. A CLI em .NET cria, valida e indexa ADRs; análises opcionais de impacto e desvios arquiteturais trabalham com evidências delimitadas, sem substituir o julgamento humano. O estudo de caso detalha decisões e trade-offs.

Biblioteca .NET

Resolve mapeamentos entre objetos .NET e colunas quando as convenções do Dapper não bastam, sem adicionar atributos aos modelos. A evolução da biblioteca combina API fluente, extensibilidade e compatibilidade com aplicações existentes, evidenciando manutenção de APIs públicas e modernização incremental. O estudo de caso discute os limites dessa abstração.

Ferramenta de documentação arquitetural

Reduz a divergência entre código e diagramas ao transformar evidências delimitadas de repositórios .NET em documentação C4/LikeC4 revisável. O fluxo separa observações de hipóteses e exige aplicação explícita, demonstrando análise estática, geração determinística e integração com agentes via MCP.

Laboratório de sistemas distribuídos

Torna decisões sobre consistência eventual, falhas e rastreabilidade reproduzíveis em uma base de serviços distribuídos em .NET. Implementa DDD, integração assíncrona com Kafka e Outbox, testes e runbooks, deixando propostas sem evidência marcadas explicitamente como pendentes.

Biblioteca .NET para integração

Trata falhas, concorrência e duplicidade na entrega de webhooks de saída. IDs estáveis tornam o enfileiramento idempotente, enquanto concessões temporárias e novas tentativas sustentam entrega at-least-once com armazenamento durável fornecido pela aplicação; o destinatário ainda precisa tolerar duplicatas. O estudo de caso examina essas garantias e seus limites.

Ferramenta de análise estática

Identifica padrões de custo e regressões de complexidade antes que cheguem à execução. O analisador Roslyn estima Big-O quando há evidência suficiente, aplica métricas configuráveis no build e na IDE e retorna resultado indeterminado em vez de inferir além do que o código permite.

Outros trabalhos: Repo Control Center, painel de CI, releases, segurança e saúde dos repositórios, e a lista completa de repositórios.


Contribuições open source

Algumas contribuições integradas que representam correção, manutenção e segurança em bases existentes:

  • Ocelot — PR #2420: corrigiu o mapeamento de timeouts do serviço de destino para HTTP 504 conforme a RFC 9110, preservando cancelamento do cliente e comportamento de QoS, com testes unitários e de aceitação.
  • MySqlConnector — PR #1675: removeu a detecção obsoleta do Azure MySQL Single Server, preservando o caminho do AWS RDS Proxy e simplificando a lógica de conexão.
  • OpenCNPJ — PR #75: centralizou downloads externos em um fluxo com timeouts, limites de tamanho, arquivos temporários e limpeza em falhas, acompanhado por testes e validação em CI.

O catálogo completo de contribuições open source mantém os demais Pull Requests e seus estados atualizados automaticamente.

Governança como código

No repositório .github, reúno políticas e automações compartilháveis: padrões de contribuição e segurança, inventário de projetos .NET, verificação de segredos e distribuição controlada de skills para agentes. As mudanças passam por Pull Request e cada repositório mantém autonomia para adotar suas regras.

Como trabalho

Procuro entender o contexto, as dependências e os limites operacionais antes de propor uma solução. Discuto alternativas e trade-offs com os times, registro decisões relevantes em ADRs e acompanho a implementação por meio de testes, observabilidade e automação.

Publicações e conteúdo técnico

Escrevo sobre arquitetura de software, DDD e desenvolvimento .NET, principalmente sobre decisões e problemas encontrados na prática.

Pinned Loading

  1. poc-arquitetura poc-arquitetura Public

    .NET architecture PoC for distributed services with CQRS, Kafka, PostgreSQL, Outbox, DLQ, observability and CI quality gates.

    C# 6

  2. complexity-analyzers complexity-analyzers Public

    Roslyn analyzer, .NET CLI and MCP server for C# complexity analysis. Estimates Big-O, detects costly patterns, measures code metrics, and compares snapshots to identify complexity regressions.

    C# 4

  3. Dapper-FluentMap Dapper-FluentMap Public

    Fluent mapping for Dapper, with conventions, immutable object materialization, analyzers, source generators, DI integration, and Dommel support.

    C# 459 87

  4. Repo2C4 Repo2C4 Public

    Evidence-first .NET tool for inspecting local repositories and building traceable, reviewable C4/LikeC4 architecture documentation.

    C# 3

  5. adr-guard adr-guard Public

    Architecture Decision Records (ADRs) toolkit with .NET CLI, VS Code extension, GitHub Action, MCP server, and architecture governance tools.

    C# 5

  6. ReliableWebhooks ReliableWebhooks Public

    Reliable outbound webhook delivery for .NET 10 with retries, leasing, HMAC signing, observability, secure HTTP defaults, and pluggable durable persistence.

    C# 4