Evolución del Generador de Reportes
17-Noviembre-2025
Descripción
Funcionalidades Implementadas
1. Eliminación Completa de Reportes
Añadí la capacidad de eliminar un reporte tanto a nivel de base de datos como en Azure Blob Storage.
Incluye:
- Botón de eliminar en cada fila del frontend
- Modal de confirmación
- Llamada HTTP DELETE al backend
- API que elimina:
- Registro del reporte en SQL
- Archivo CSV en Blob Storage
- Manejo de errores y actualización en la UI
2. Enriquecimiento del Reporte con Detalles Complejos del Pokémon
El worker ahora no solo obtiene el nombre y la URL del Pokémon, sino también:
- Estadísticas base (HP, Attack, Defense, Sp. Atk, Sp. Def, Speed)
- Habilidades (lista o formato string)
El CSV ahora incluye estas columnas adicionales, permitiendo crear reportes mucho más valiosos.
3. Reportes con Muestreo Aleatorio
Se añadió un campo llamado sample_size, permitiendo al usuario generar reportes con un número limitado de registros elegidos aleatoriamente.
Implementación:
- Validación de número entero positivo en Next.js
- API actualizada para recibir y almacenar sample_size
- Azure Function usa
random.sample()para seleccionar registros aleatorios - Generación del CSV con el subconjunto resultante
Desafíos Técnicos y Soluciones
La mayor parte de desafios que tuve durante el transcurso de este proyecto, fue al momento de las configuraciones, ya sea versiones de phyton, configuracion el function app y hacer release al docker, a continuacion explicarle los desafios y las soluciones que encontre
Uso de docker desktop y habilitacion de Hyper-V
Reto
Puede parecer ridiculo, ese reto, pero en mi caso, cuando instale este docker y lo use, me dio el problema de Virtualization support not detected, en mi caso ya tenia habilitado la virtualización, pero no me funcionaba, era que estaba deshabiltado el Hyper-V y me costo un poco resolverlo
Solución
Mediante investigación, lo pude resolver, solo tenia que ejecutar varios comandos en el PowerShell como Administrador, fueron los siguiente:
dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /all /norestartCuando termine, ejecuta:
dism /online /enable-feature /featurename:Microsoft-Hyper-V-Tools-All /all /norestart dism /online /enable-feature /featurename:Microsoft-Hyper-V-Management-PowerShell /all /norestart Ahora reinicia la PC.Después del reinicio se abre PowerShell nuevamente como admin y ejecuta:dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartdism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartReinicia otra vez.Luego, se configurar el WSL2 como versión por defecto Ya en el sistema o powershell como administracion ejecutar: wsl --set-default-version 2 Despues de seguir esos pasos, el docker ya no mostro ese error y me inicio normalmente
Uso de Pyenv en windows
Reto
El reto que tuve que no podia usa varios versiones de python en mi pc y ocupa el pyenv en windows 10 que era el pyenv-win, pero no sabia instalarlo, y cuando lo instale, no me funcionaba poner varias versiones en mi proyecto, solo me daba la versión que tenia ya mi pc, me costo resolverlo
Solución
Lo unico que hice fue irme al repositorio de pyenv-win en github y seguir el Readme de como instalarlo, y luego en las variables de entorno del usuario, esas variables tuve que subir su prioridad, que este encima de mi variable de entorno de python que ya tenia el sistema.
Diagrama de Arquitectura Utiliza para el proyecto