Skip to content

MS Conta - CQRS e Mensageria (RabbitMQ) #73

@EduKaique

Description

@EduKaique

Objetivo:
Construir o core financeiro do BANTADS. Por ser um domínio crítico, a arquitetura exige o padrão CQRS (Command Query Responsibility Segregation). Vocês deverão separar as operações de escrita (CUD) das consultas (Read) e sincronizá-las via RabbitMQ.
Documentação da API Swegger

Tarefas (Critérios de aceite):

  • Configurar conexão com PostgreSQL (schema exclusivo ms_cliente) e a permissão pasta database/init.sql.
  • Adicionar o data.sql para subir o banco com o dados pré-definidos na pasta resources.
  • Configurar a conexão com o PostgreSQL para dois schemas distintos: ms_conta_cud (Command) e ms_conta_r (Query).
  • Lado Command (Escrita): Criar endpoints de depósito, saque e transferência. Estes endpoints devem gravar na tabela e publicar um evento no RabbitMQ (ex: ContaAtualizadaEvent).
  • Lado Query (Leitura): Criar um "Consumer" do RabbitMQ que escute os eventos de escrita e atualize as tabelas desnormalizadas (Views) de Conta e Extrato.
  • Lado Query (Leitura): Criar endpoints para consultar Saldo/Perfil da conta e buscar o Extrato de movimentações.

(Os endpoints necessários de Conta estão na documentação da API no Swegger)

Detalhes Técnicos:

  • Banco de Dados: PostgreSQL (2 schemas lógicos).
  • Mensageria: RabbitMQ obrigatório para sincronizar Command -> Query.
  • Observação: Não implementar a aprovação de contas ou designação de gerentes via SAGA agora. Foquem em fazer o fluxo de depósito/saque fluir perfeitamente entre o banco de escrita, a fila e o banco de leitura.

Metadata

Metadata

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions