Este projeto foi desenvolvido durante a Imersão Full Stack & Full Cycle, onde construímos um Gateway de Pagamento completo utilizando arquitetura de microsserviços.
O objetivo é demonstrar a construção de um sistema distribuído moderno, com separação de responsabilidades, comunicação assíncrona e análise de fraudes em tempo real.
Visualize a arquitetura completa aqui
-
Frontend (Next.js)
- Interface do usuário para gerenciamento de contas e processamento de pagamentos
- Desenvolvido com Next.js para garantir performance e boa experiência do usuário
-
Gateway (Go)
- Sistema principal de processamento de pagamentos
- Gerencia contas, transações e coordena o fluxo de pagamentos
- Publica eventos de transação no Kafka para análise de fraude
-
Apache Kafka
- Responsável pela comunicação assíncrona entre API Gateway e Antifraude
- Garante confiabilidade na troca de mensagens entre os serviços
- Tópicos específicos para transações e resultados de análise
-
Antifraude (Nest.js)
- Consome eventos de transação do Kafka
- Realiza análise em tempo real para identificar possíveis fraudes
- Publica resultados da análise de volta no Kafka
- Frontend realiza requisições para a API Gateway via REST
- Gateway processa as requisições e publica eventos de transação no Kafka
- Serviço Antifraude consome os eventos e realiza análise em tempo real
- Resultados das análises são publicados de volta no Kafka
- Gateway consome os resultados e finaliza o processamento da transação
Para executar o projeto completo, os serviços devem ser iniciados na seguinte ordem:
- API Gateway (Go) - Deve ser executado primeiro pois configura a rede Docker
- Serviço Antifraude (Nest.js) - Depende do Kafka configurado pelo Gateway
- Frontend (Next.js) - Interface de usuário que se comunica com a API Gateway
Cada componente do sistema possui instruções específicas de instalação e configuração em suas respectivas pastas:
- API Gateway: Consulte o README na pasta
/go-gateway
- Serviço Antifraude: Consulte o README na pasta
/nestjs-antifraude
- Frontend: Consulte o README na pasta
/next-frontend
Importante: É fundamental seguir a ordem de execução mencionada acima, pois cada serviço depende dos anteriores para funcionar corretamente.
Para executar todos os componentes do projeto, você precisará ter instalado:
- Docker
- Docker Compose
- Git
- Transações acima de R$ 10.000 são automaticamente enviadas para análise e ficam com status "pendente"
- Transações menores são processadas imediatamente
- A interface mostra status diferenciados por cores: verde (aprovado), amarelo (pendente), vermelho (rejeitado)