ContrataData
ContrataData es una plataforma GovTech que consolida y visualiza contratos del sector público colombiano extraídos de SECOP y datos.gov.co. Implementa un pipeline ETL incremental que procesa solo registros nuevos o modificados, exponiendo los datos normalizados mediante una API REST y un dashboard React con visualizaciones analíticas.
Contratos públicos colombianos dispersos en SECOP y datos.gov.co sin forma de consolidarlos, normalizarlos ni visualizarlos de manera unificada y analizable.
Pipeline ETL incremental en Python con Socrata API, normalización en PostgreSQL/Neon, REST API con FastAPI y dashboard analítico en Next.js con filtros en tiempo real.
Miles de contratos públicos consolidados y visualizables en tiempo real
Stack Tecnológico
Pipeline de Datos
- 1
El extractor consulta SECOP/datos.gov.co vía Socrata API usando el protocolo SODA estándar de datos abiertos
- 2
Modo incremental: la tabla pipeline_meta persiste el último timestamp de ejecución y filtra con $where=:updated_at >= '<last_run>' reduciendo consumo de cuota API
- 3
Detección automática full/delta: primera ejecución hace carga completa; subsiguientes solo extraen lo nuevo o modificado
- 4
Etapa de normalización mapea los datos crudos a 5 modelos SQLAlchemy: Entity, Supplier, Contract, RejectedRecord, PipelineMeta
- 5
Validación estricta con Pydantic v2: registros inválidos se almacenan en RejectedRecord con payload raw y metadata de error para auditoría
- 6
Carga idempotente via ON CONFLICT DO NOTHING, segura para re-ejecuciones sin duplicados
- 7
Backfill manual disponible via variable de entorno DATE_FROM para re-procesar rangos históricos específicos
Características Técnicas
¿Quieres resultados similares?
Cuéntame sobre tu proyecto y diseñamos juntos la estrategia.