extrator-data

Função

contexto/ecossistema/software-catalogo/repositorios/extrator-data.md

Backend de extração e processamento de dados de leilões extrajudiciais (Caixa, múltiplos sites), com FastAPI (API REST, auth Supabase JWT, rate limiting), Apache Airflow (DAGs agendadas: CSV, multi-site, PDFs, análise de viabilidade em lote) e persistência em Supabase PostgreSQL com RLS. Inclui análise de viabilidade com IA (OpenAI) e extração de leads a partir de PDFs de matrícula.

Produto A3 Vision relacionado

Plataforma de Leilões (operação Prolance / captura e qualificação de leads de leilão).

Status

Ativo — README indica ambiente de produção e DAGs operacionais.

Stack

  • Linguagem: Python 3.12+
  • Framework: FastAPI, Apache Airflow 3.0, Uvicorn
  • Banco de dados: Supabase (PostgreSQL)
  • Dependências chave: integração Supabase, scrapers por site, OpenAI para viabilidade, Docker Compose (extrator-api, extrator-airflow)

Responsabilidade no ecossistema

Motor de dados e automação da operação de leilões: coleta contínua, normalização, enriquecimento com IA e APIs para consumo pelo front (extrator-data-web) ou outros clientes autenticados.

Dependências

  • Depende de: Supabase; OpenAI (opcional mas usado para IA); Docker para orquestração típica.
  • Usado por: extrator-data-web (API Python configurável via NEXT_PUBLIC_API_URL / API_URL).

Variáveis de ambiente necessárias

Ver docker/env.docker.example: API_PORT, AIRFLOW_WEB_PORT, AIRFLOW_UID, API_URL, SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_KEY, SUPABASE_TOKEN, variáveis AIRFLOW__*, OPENAI_API_KEY (opcional), ALLOWED_ORIGINS, etc.

Como rodar localmente

Copiar docker/env.docker.exampledocker/env.docker, preencher credenciais Supabase (e OpenAI se usar IA), aplicar migrações conforme documentação do front → docker-compose up -d → API em porta configurada (ex.: 18000), Airflow na porta do webserver.

Observações

  • Documentação interna cita marca Prolance Recuperações; alinhar com narrativa A3 Vision de “Plataforma de Leilões” no CONTEXT.
  • README menciona que migrações podem ser gerenciadas pelo frontend — manter ordem de deploy alinhada com extrator-data-web.