Volver al inicio

De bot a sistema web: automatización de Excel

El artículo describe la transformación de un bot de Telegram en un sistema web completo para procesar archivos Excel en el almacén. El desarrollador gradualmente movió la lógica al backend, añadió interfaz web e integraciones. Resultado: ahorro de 150 horas por mes, arquitectura mejorada.

Cómo el bot se convirtió en un sistema completo para Excel
Advertisement 728x90

De Bot de Telegram a Aplicación Web Escalable: La Evolución de una Herramienta Interna

Un analista de pérdidas de almacén enfrentaba una tarea rutinaria: el procesamiento diario de múltiples archivos de Excel requería 5 horas al día o 150 horas al mes. Esto representaba costos de tiempo significativos. La solución fue un MVP en forma de un bot de Telegram en Python: los usuarios enviaban archivos, el bot devolvía resultados procesados. La lógica de procesamiento permaneció bajo control del desarrollador, sin necesidad de interfaz.

Este enfoque funcionó inicialmente: Telegram proporcionaba acceso rápido sin requerir una interfaz de usuario. Sin embargo, a medida que crecía la complejidad, las limitaciones se hicieron evidentes.

Limitaciones de Telegram como Base del Sistema

Telegram no está diseñado para servir como núcleo central de un sistema. Los problemas surgieron rápidamente:

Google AdInline article slot
  • El límite de 20 MB para archivos bloqueaba subidas grandes.
  • El procesamiento se convirtió en una "caja negra" sin visibilidad del estado.
  • No había una interfaz adecuada para la gestión.
  • El desarrollo de funciones se volvió más complicado.
  • Problemas de acceso en Rusia debido a regulaciones.

Telegram funcionó como punto de entrada, pero no como núcleo. La solución fue trasladar la lógica a un backend separado.

Transición Gradual a una Aplicación Web

La transición no fue una refactorización completa: el bot permaneció como cliente pero delegó tareas al backend. Surgió una interfaz web con capacidades:

  • Carga de archivos de cualquier tamaño.
  • Seguimiento del estado de procesamiento.
  • Gestión de procesos.

El proyecto adquirió características de sistema: la separación de responsabilidades simplificó el desarrollo. El backend maneja datos y lógica de negocio, la parte web maneja la interacción, y las integraciones (Google Sheets, Yandex.Disk) manejan almacenamiento y transferencia.

Google AdInline article slot

Arquitectura: Separación por Capas

El sistema está estructurado por capas:

  • Backend: Procesamiento de datos con pandas, lógica de negocio.
  • Interfaz Web: Capa API, frontend para usuarios.
  • Clientes: Bot de Telegram como una interfaz.
  • Integraciones: OAuth para Yandex.Disk, API de Google Sheets.

Esta separación permite cambiar interfaces independientemente de la lógica. Las restricciones de política de la empresa (sin acceso directo a bases de datos sin proxy) hicieron necesario este enfoque.

Solucionando Problemas con Archivos Grandes

El momento clave fue sortear los límites de Telegram. Integración con Yandex.Disk vía OAuth: el bot acepta un enlace, el backend descarga y procesa el archivo. Esto proporcionó estabilidad y velocidad sin dependencias de limitaciones de plataforma.

Google AdInline article slot

UX para Herramientas Internas

Las herramientas internas a menudo ignoran la interfaz, pero mejoras simples son críticas:

  • Indicadores de progreso del procesamiento.
  • Botones y formularios claros.
  • Adaptabilidad a dispositivos móviles.

Esto mejora la usabilidad: el sistema se convierte en una herramienta para uso diario.

Entorno de Desarrollo: De PyCharm a Agentes de IA

El desarrollo ocurrió en PyCharm para investigación de datos y depuración. Cambiar a Cursor con agentes de IA aceleró tareas rutinarias:

  • Generación de código repetitivo.
  • Refactorización simple.
  • Envoltura de nuevas funciones.

Cursor es efectivo para arquitectura y desarrollo web. PyCharm permanece para análisis profundo de datos. Un enfoque híbrido: IA para automatización, herramientas clásicas para tareas complejas. Se planea probar Claude Code y n8n para integraciones de IA en procesamiento de datos.

Resultados y Ahorros

El sistema ahorró 150 horas mensuales para el equipo de análisis. El cambio clave fue abandonar Telegram como centro: agregar interfaces e integraciones se hizo posible sin riesgo de fallos.

Lo que importa:

  • Extraer gradualmente el backend del bot hizo el sistema escalable.
  • La integración con Yandex.Disk resolvió problemas de límites de archivos.
  • Separar interfaz y lógica simplificó el desarrollo.
  • Los agentes de IA en Cursor aceleraron el desarrollo repetitivo.
  • La interfaz web agregó control de procesos.

Lecciones y Planes de Desarrollo

Conclusiones: comenzar con MVP, luego refactorizar a medida que ocurre el crecimiento. No construir arquitectura perfecta inmediatamente. Herramientas como Cursor impactan la productividad.

Próximos pasos: análisis BI en web, paneles de control, contenedorización con Docker. Este es material técnico para desarrolladores de nivel medio/senior que construyen sistemas internos.

— Editorial Team

Advertisement 728x90

Leer después