Ambiente de simulação

Opere a bolsa brasileira. Sem arriscar um centavo.

Abra uma conta, deposite, envie ordens de compra e venda e acompanhe cotações e o livro de ofertas em tempo real. Tudo sobre uma arquitetura de microsserviços orientada a eventos, pronta para ser lida, executada e estudada.

Livro de ofertas · PETR4
O que você faz

Uma corretora completa, em miniatura

Do depósito à execução da ordem, cada passo do ciclo de negociação é simulado como num sistema real.

💳

Conta corrente

Abertura, depósitos, saques e reserva de saldo para ordens de compra, com débito e liberação conforme as execuções.

📈

Ordens

Envie, cancele e substitua ordens; acompanhe execuções parciais e totais e o histórico completo de cada uma.

💼

Carteira

Posição disponível e bloqueada por ativo, atualizada a cada execução de compra e venda.

⚡

Tempo real

Cotações e livro de ofertas via SignalR, com reconexão automática e ressincronização.

🕙

Pregão simulado

Sessão das 10:00 às 18:00 (Brasília). Fora do horário, as ordens ficam agendadas e são enviadas à abertura.

🖥️

Home broker

Janelas flutuantes e dockáveis reúnem cotações, boletas, carteira e ordens numa única tela.

Interface

Telas pensadas para operar

Angular com Tailwind, tema claro e escuro, responsivo a partir de 320 px e operável por teclado.

Boleta de ordens

Valide, envie e acompanhe o status de cada ordem.

Ordens e status

Execuções parciais, agendadas e histórico por ordem.

Cotações ao vivo

Preços que piscam a cada variação.

Como funciona

Da ordem à execução

Serviços independentes conversam de forma assíncrona por RabbitMQ.

  1. ContaAbra a conta e deposite fundos.
  2. OrdemOrders registra a ordem como pendente.
  3. ReservaFundos (compra) ou ativos (venda) são bloqueados.
  4. BolsaA Exchange casa as ordens no livro de ofertas.
  5. EventosExecuções atualizam ordem, saldo e carteira.
  6. Tempo realQuotes e OfferBook transmitem à interface.
Módulos

Seis serviços, uma interface

Cada módulo é um microsserviço .NET 10 com testes, Dockerfile e schema próprio no PostgreSQL.

8080
AccountConta corrente e reserva de saldo.
8081
OrdersCiclo de vida e histórico das ordens.
8082
PortfolioPosição disponível e bloqueada por conta.
8083
ExchangeA bolsa: casamento de ordens e pregão. Não conhece os outros módulos.
8084
QuotesCotações em tempo real via SignalR.
8085
OfferBookLivro de ofertas em tempo real.
Laboratório de arquitetura

Pequeno para ler. Sério para aprender.

Um sistema que cabe na cabeça, construído com os padrões que se esperaria de um sistema real.

Ports & AdaptersVertical SlicesDDD Event SourcingCQRSTransactional Outbox IdempotênciaConcorrência otimistaRailway-oriented RabbitMQSignalRPostgreSQLRedis OpenTelemetry.NET 10AngularTailwind CSSDocker Compose

Suba tudo com um comando

Clone o repositório, execute o Docker Compose e abra a interface em localhost.

docker compose up -d --build
# UI principal: http://localhost:4200 · Home broker: :4201
Abrir no GitHub