BitChicken

RW.BC.Api

Atributo Valor
Tipo Backend API (REST + SignalR)
Linguagem C# 14 / .NET 10
Framework ASP.NET Core Minimal API + Wolverine CQRS
Banco PostgreSQL 17 (schema public — domínio; schema indexer — read-models Ponder)
Deploy Sem alvo fixo no repo público (imagem Docker + Postgres gerenciado; orquestrado via Aspire em dev)
Auth Firebase JWT (OIDC discovery)

API de contas do ecossistema BitChicken: desacopla a identidade do usuário (email/senha via Firebase) da carteira EVM, expõe read-models do indexador on-chain via Gridify e emite notificações em tempo real via SignalR.

Entry Points

Arquivo Papel
src/RW.BC.Api/Program.cs Composition root: registra serviços, middlewares e mapeia endpoints
src/RW.BC.Api/Endpoints/*.cs Minimal API — grupos de rotas por domínio
src/RW.BC.Api/Hubs/EventsHub.cs SignalR hub — assinatura por endereço EVM
src/RW.BC.Api/Realtime/MarketplaceEventsListener.cs BackgroundService — polling Postgres LISTEN/NOTIFY

Diretórios Principais

Caminho Conteúdo
src/RW.BC.Domain/ Aggregates, value objects, building blocks (zero dependência de framework)
src/RW.BC.Application/ Handlers Wolverine, commands, queries, DTOs, ports, validators
src/RW.BC.Infrastructure.Persistence/ EF Core, mappings, repositórios, migrations, NethereumSignatureVerifier
src/RW.BC.Api/ Minimal API endpoints, identity, web helpers, hubs, realtime
src/RW.BC.ServiceDefaults/ OpenTelemetry, health checks, service discovery (Aspire)
tests/RW.BC.Domain.UnitTests/ xUnit — domain puro (sem infra)
tests/RW.BC.Application.UnitTests/ xUnit + Moq + AutoFixture — handlers e validators
tests/RW.BC.Infrastructure.Persistence.IntegrationTests/ Testcontainers (Postgres real) — repos e signature verifier
tests/RW.BC.Api.IntegrationTests/ WebApplicationFactory + Testcontainers — endpoints end-to-end

Documentação Disponível