Sistema completo para consulta, processamento e análise de dados do CNJ, composto por um backend serverless (Node.js/AWS) e um frontend moderno (Angular).
O projeto foi desenvolvido para facilitar a consulta de números CNJ, processando requisições de forma escalável e segura, utilizando recursos da AWS. A interface web permite a interação do usuário com o sistema de maneira simples e intuitiva.
backend/— API, lógica de processamento, filas assíncronas e persistência (Node.js, Serverless Framework, AWS Lambda, SQS, DynamoDB).frontend/— Interface web para consulta e envio de dados (Angular 19)..github/workflows/— Pipeline de deploy automatizado via GitHub Actions.
- Consulta de números CNJ via interface web.
- Validação, processamento e integração com serviços externos.
- Deploy automatizado do backend via GitHub Actions.
- Arquitetura serverless, escalável e de baixo custo.
- Leia os READMEs específicos em
backend/efrontend/para instruções detalhadas de instalação, configuração e uso.
- Node.js 18 ou superior
- Conta AWS (para uso do backend)
- Permissões para rodar workflows no GitHub (deploy backend)
- O deploy do backend é realizado manualmente via GitHub Actions (veja instruções em
backend/README.md). - O frontend pode ser publicado em qualquer serviço de hospedagem estática após o build (veja instruções em
frontend/README.md).
A arquitetura do CNJ Processor é baseada em microsserviços serverless na AWS, garantindo alta escalabilidade, baixo custo e facilidade de manutenção. O fluxo principal é:
- Frontend Angular: Interface web para o usuário consultar números CNJ.
- API Gateway: Expõe os endpoints REST e faz a ponte entre o frontend e o backend.
- Lambda (cnjReceiver): Função responsável por validar, autenticar e encaminhar as requisições para processamento assíncrono.
- SQS: Fila que desacopla o recebimento do CNJ do processamento.
- Lambda Processor: Consome mensagens da fila, processa dados e armazena resultados.
- DynamoDB: Banco NoSQL para persistência dos resultados das consultas.
- CloudWatch: Monitoramento, métricas e logs de todas as funções e recursos.
Diagrama simplificado da arquitetura serverless do projeto CNJ Processor.
Tela principal do frontend Angular hospedado no S3, onde o usuário pode informar o token de autenticação e o número CNJ para consulta. Após o envio, uma mensagem de sucesso é exibida indicando que o CNJ foi recebido e enviado para processamento assíncrono.
Exemplo de requisição POST para o endpoint
/cnjusando o Postman. O corpo da requisição contém o número CNJ, e a resposta confirma o recebimento e o início do processamento.
Logs do AWS Lambda mostrando o fluxo de recebimento da requisição, envio para a fila SQS e o processamento do CNJ. Essas informações auxiliam no monitoramento e troubleshooting do backend.
Visualização dos resultados armazenados no DynamoDB após o processamento. Cada item representa um CNJ consultado, incluindo o status e mensagem de resposta.
Painéis do CloudWatch mostrando métricas de invocações, duração, erros e concorrência das funções Lambda responsáveis pelo processamento CNJ.
Execução de testes de carga utilizando o K6 para avaliar a performance e estabilidade do endpoint de processamento CNJ.









