Este é o Frontend da API Gateway desenvolvido em Next.js.
O Gateway de Pagamento é um sistema distribuído composto por:
- Frontend em Next.js (Este repositório)
- API Gateway em Go com Apache Kafka para comunicação assíncrona
- Sistema de Antifraude em Nest.js
-
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 seus repectivos repositórios:
- Serviço Antifraude: Consulte o README na pasta do projeto (clique aqui).
- API Gateway em Go: Consulte o README na pasta do projeto (clique aqui).
Visualize a arquitetura completa aqui
- Clone o repositório:
git clone https://github.com/patrick-cuppi/Gateway-Payment-Next.js
-
Verifique se o serviço Gateway-Payment-Golang já está em execução
-
Inicie os serviços com Docker Compose:
docker-compose up -d
- Execute a aplicação dentro do container:
docker-compose exec nextjs bash
npm run dev
O frontend estará disponível em http://localhost:3000
.
- Login via API Key gerada pelo sistema Gateway
- Proteção de rotas via middleware
- Listagem de todas as faturas
- Visualização detalhada de uma fatura específica
- Criação de novas faturas (processamento de pagamento)
- Visualização de status (aprovado, pendente, rejeitado)
O frontend possui 4 telas principais:
- Login - Entrada da API Key para autenticação
- Listagem de Faturas - Visão geral de todas as transações
- Detalhes da Fatura - Informações completas de uma transação
- Criação de Fatura - Formulário para processamento de um novo pagamento
Todas as telas incluem uma barra de navegação superior que exibe "Gateway Payment" e um botão de logout.
O frontend se comunica com a API Gateway para:
- Autenticação de usuários
- Criação e listagem de faturas
- Consulta de detalhes de faturas
- Atualização de dados via revalidação de tags
- 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)
Para desenvolvimento local, você pode editar os arquivos localmente - eles são montados como volume no container Docker, que atualiza automaticamente as mudanças.
- Next.js 15 com App Router
- Tailwind CSS para estilização
- TypeScript para tipagem estática
- Server Components e Server Actions