Movies ETL Pipeline & Analytics Dashboard
Sistema de ingeniería de datos completo que extrae información de series de televisión desde TVMaze, la procesa y almacena en PostgreSQL, y la expone mediante una API REST consumida por un dashboard analítico interactivo. El pipeline ETL se dispara desde la interfaz del dashboard y corre en background. Incluye visualizaciones de KPIs, top géneros y explorador de datos crudos.
Stack Tecnológico
¿Qué resuelve?
Demuestra un flujo de ingeniería de datos end-to-end: desde la extracción de datos de una API pública hasta su visualización en un dashboard interactivo, pasando por transformación, validación y persistencia. El usuario dispara el pipeline desde el dashboard y ve los resultados en tiempo real sin configuración adicional.
Decisiones Técnicas
- 1
Arquitectura separada en tres capas: ETL (extract/transform/load como módulos independientes), API REST con FastAPI y dashboard con Streamlit — cada capa es reemplazable sin afectar las demás
- 2
Pipeline disparado desde el dashboard via POST /etl/run: FastAPI delega a un worker en background para no bloquear la respuesta HTTP mientras corre el proceso
- 3
Separación extract/transform/load en módulos con responsabilidad única: extract.py llama a TVMaze, transform.py limpia con Pandas, load.py persiste en PostgreSQL y CSV
- 4
Streamlit + Plotly para el dashboard analítico: visualizaciones de KPIs, distribución por géneros y explorador de datos crudos consumiendo la API REST
- 5
Arquitectura multi-contenedor con Docker Compose: API, dashboard y base de datos orquestados en un solo comando