diegoNZ04 /
estudo-typescript
Repositório voltado aos estudos de TypeScript, para fundamentação no framework Angular.
27/100 healthLoading repository data…
JGE-Software / repository
Repositório voltado para o programa de Hackaton da DB1, especificamente na data de 18/09
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Sistema para recebimento e análise de relatos de infrações PIX, desenvolvido com Next.js e MongoDB.
Esta aplicação é responsável por receber relatos de infrações do sistema PIX e armazenar em um banco de dados MongoDB. Após o recebimento, um agente de inteligência artificial realiza uma análise prévia do relato e gera um score de risco.
O Relato de Infração é um mecanismo de segurança oficial do sistema PIX, criado pelo Banco Central do Brasil. Permite que usuários ou instituições financeiras comuniquem transações PIX suspeitas de fraude, golpe ou outras atividades ilícitas.
git clone <url-do-repositorio>
cd pix-infracoes-api
npm install
Crie um arquivo .env.local na raiz do projeto:
MONGODB_URI=mongodb://pix-user:pix-password@localhost:27017/pix-infracoes
NEXT_PUBLIC_API_URL=http://localhost:3000
docker-compose up -d
npm run dev
A aplicação estará disponível em http://localhost:3000
O MongoDB será executado na porta 27017 com as seguintes credenciais:
adminpassword123pix-userpix-passwordpix-infracoesAcesse o Mongo Express em http://localhost:8081 para gerenciar o banco:
adminadmin123Registra um novo relato de infração PIX e executa análise automática com agente LLM.
Resposta inclui:
Payload de exemplo:
{
"dataHoraRelato": "2025-09-18T14:30:15Z",
"statusRelato": "EM_ANALISE",
"transacao": {
"endToEndId": "E18236120202509181425s0a1b2c3d4e",
"txid": "PAYLOADQRCODE123456789",
"valor": 1250.75,
"dataHoraTransacao": "2025-09-18T14:25:00Z",
"tipoIniciacao": "CHAVE_ALEATORIA"
},
"pagador": {
"cpf": "111.222.333-44",
"nome": "João da Silva",
"agencia": "0001",
"conta": "12345-6",
"instituicao": "MeuBanco S.A.",
"perfilRisco": "BAIXO"
},
"recebedor": {
"cpfCnpj": "999.888.777-66",
"nome": "Maria Souza",
"chavePix": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"instituicao": "Banco Digital XYZ",
"conta": {
"agencia": "0001",
"numero": "98765-4",
"dataAbertura": "2025-08-20",
"scoreRiscoConta": 850
}
},
"avaliacaoFraude": {
"motivoRelato": "GOLPE",
"subtipoGolpe": "FALSA_CENTRAL_TELEFONICA",
"descricaoUsuario": "Recebi uma ligação de alguém se passando pelo banco...",
"evidenciasAnexadas": [
{
"tipo": "SCREENSHOT",
"url": "/evidencias/screenshot_conversa_1.jpg"
}
]
},
"metadadosAnalise": {
"relatosAnterioresRecebedor": 3,
"valorMedioTransacoesRecebedor": 250.00,
"historicoPagadorConsistente": false,
"dispositivoTransacao": {
"idDispositivo": "DEVICE_ID_XYZ123",
"localizacaoIp": "177.104.1.XX",
"novoDispositivo": true
}
}
}
Lista relatos com paginação e filtros.
Parâmetros de query:
page (opcional): Número da página (padrão: 1)limit (opcional): Itens por página (padrão: 10)status (opcional): Filtrar por statusBusca um relato específico por ID.
Atualiza status e score de um relato.
Payload:
{
"statusRelato": "ALTO_RISCO",
"scoreAnalise": 85
}
Busca a análise de um relato específico por ID.
Resposta:
{
"relato": {
"id": "64f8a1b2c3d4e5f6a7b8c9d0",
"status": "CRITICO",
"dataCriacao": "2025-01-18T...",
"dataAtualizacao": "2025-01-18T..."
},
"analise": {
"id": "64f8a1b2c3d4e5f6a7b8c9d1",
"score": 245,
"nivelRisco": "CRITICO",
"bandeirasVermelhas": [...],
"recomendacoes": [...],
"justificativa": "...",
"confianca": 92,
"provider": "gemini",
"modelo": "gemini-1.5-flash",
"dataAnalise": "2025-01-18T...",
"dataCriacao": "2025-01-18T..."
}
}
Remove todas as análises de um relato específico.
O sistema utiliza um agente LLM (Large Language Model) que analisa relatos baseado em regras específicas do AGENTS.MD. Suporta tanto Gemini (Google) quanto OpenAI, gerando um prompt estruturado com todos os dados relevantes.
Histórico do Recebedor:
Idade da Conta do Recebedor:
Consistência da Transação:
Contexto do Dispositivo:
Análise de Texto:
Score de Risco da Conta:
Perfil do Pagador:
O sistema suporta tanto Gemini (Google) quanto OpenAI. Configure as variáveis de ambiente:
LLM_PROVIDER=gemini
GEMINI_API_KEY=your-gemini-api-key-here
GEMINI_MODEL=gemini-1.5-flash # gemini-1.5-flash, gemini-1.5-pro, gemini-1.0-pro
Obter API Key: https://makersuite.google.com/app/apikey
LLM_PROVIDER=openai
OPENAI_API_KEY=sk-your-openai-api-key-here
OPENAI_BASE_URL=https://api.openai.com/v1
Fallback: Se nenhuma API key estiver configurada, o sistema usa análise mock para desenvolvimento.
O sistema utiliza prompts externos organizados na pasta prompts/:
prompts/analise-fraude-pix.txt: Template principal para análise de fraudeslib/promptLoader.ts: Utilitário para carregar e processar templatesVantagens:
pix-infracoes-api/
├── app/
│ ├── api/
│ │ ├── relatos/
│ │ │ ├── route.ts # CRUD de relatos
│ │ │ └── [id]/
│ │ │ └── route.ts # Operações específicas
│ │ └── analise/
│ │ └── route.ts # Análise de IA
│ ├── globals.css
│ ├── layout.tsx
│ └── page.tsx # Página inicial
├── lib/
│ ├── mongodb.ts # Conexão com MongoDB
│ ├── agenteLLM.ts # Agente LLM para análise
│ └── promptLoader.ts # Carregador de prompts
├── prompts/
│ └── analise-fraude-pix.txt # Template de prompt para análise
├── models/
│ ├── RelatoInfracao.ts # Modelo de dados
│ └── AnaliseRelato.ts # Modelo de análises
├── docker-compose.yml # Configuração do MongoDB
├── mongo-init.js # Script de inicialização
└── package.json
# Registrar um relato (análise automática com LLM)
curl -X POST http://localhost:3000/api/relatos \
-H "Content-Type: application/json" \
-d @exemplo-relato.json
# Listar relatos
curl http://localhost:3000/api/relatos
# Buscar análise de um relato
curl http://localhost:3000/api/analise/64f8a1b2c3d4e5f6a7b8c9d0
# Testar prompt externo
node teste-prompt-externo.js
analiserelatos no MongoDBPara produção, configure:
Este projeto foi desenvolvido para fins educacionais e de demonstração.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
Selected from shared topics, language and repository description—not editorial ratings.
diegoNZ04 /
Repositório voltado aos estudos de TypeScript, para fundamentação no framework Angular.
27/100 healthBrunoOliveira16 /
Repositório voltado para os módulos de Front-end do curso Desenvolvedor Full-Stack Python da EBAC
31/100 healthFelipeSabino-del /
Repositório para desenvolvimento do projeto Ecoleta da Next Level Week. Ecoleta é voltado para criação de uma interface para cadastro de pontos de coleta reciclável e busca dos mesmos para auxílio no descarte de resíduos. Este projeto está sendo desenvolvido para Web e Mobile utilizando TypeScript em um back-end Node e front-end com React e React-Native.
matheus-gondim /
repositório voltado para os estudos com typescript
27/100 healthS7vzx /
Repositório voltado para praticas fundamentos da linguagem typescript
49/100 healthtenmenezes /
Repositório voltado para o aprendizado e aprofundamento dos conceitos e temas de TypeScript.
59/100 health