PokeApi Queue
El proyecto “Generador de Reportes V1” es una aplicación web desplegada en Azure que permite a los usuarios generar reportes CSV basados en datos obtenidos desde una API externa (PokeAPI). La solución está compuesta por un frontend en Next.js, una API en FastAPI, un proceso asíncrono basado en Azure Functions, y almacenamiento persistente utilizando Azure SQL Database y Blob Storage. El propósito central del sistema es ofrecer un flujo completamente automatizado para la solicitud, procesamiento y entrega de reportes, garantizando escalabilidad, disponibilidad y una adecuada separación entre componentes web, API y procesos de background.
Arquitectura de la Solución

Implementación de Eliminación Completa de Reportes
Se añadió la capacidad de gestionar el ciclo de vida completo de los reportes mediante un mecanismo de eliminación segura. La funcionalidad incluye un botón de eliminación con confirmación, un endpoint DELETE en FastAPI y la eliminación de registros y archivos en Azure SQL Database y Blob Storage.
Enriquecer el Reporte con Detalles del Pokémon
Se modificó la Azure Function para consultar detalles adicionales de cada Pokémon, incluyendo estadísticas base y habilidades, incorporando dichas columnas en el CSV generado y manejando errores de llamadas individuales a la API externa.
Reportes con Muestreo Aleatorio
Se agregó un parámetro sample_size que permite generar reportes con un subconjunto aleatorio de datos. Se actualizó el frontend, el modelo Pydantic y la Azure Function para aplicar random.sample() cuando corresponda.
Desafíos Encontrados
Entre los desafíos se incluyen la sincronización entre servicios de Azure, manejo de latencia por múltiples llamadas a PokeAPI, actualización del modelo de datos, validación de parámetros opcionales, gestión de blobs en Azure y garantizar el despliegue continuo sin afectar la operación.
