Thanks to visit codestin.com
Credit goes to github.com

Skip to content

eslay07/GestorCompras

Repository files navigation

GestorCompras

Python Tkinter Selenium SQLite SMTP

Aplicación de escritorio desarrollada en Python para gestión operativa de compras, proveedores, correos masivos, reasignación de tareas y soporte a descargas de órdenes de compra.

El sistema centraliza procesos administrativos que antes requerían revisión manual, envío individual de correos, búsqueda de PDFs, validación de proveedores y seguimiento separado de tareas. La aplicación integra interfaz gráfica, configuración centralizada, automatización de correos, flujos por bienes/servicios y módulos complementarios para procesamiento de OCs.


Vista general del sistema

Login

Login

Configuraciones

Configuraciones

Menú de Bienes

Menú de Bienes

Menú de Servicios

Menú de Servicios

Menú de flujo

Menú de flujo

Reasignación de tareas

Reasignación de tareas

Correos masivos

Correos masivos

Descargas OC

Descargas OC


Tabla de contenido


Estado del proyecto

Proyecto en uso interno y en evolución continua. Incluye funcionalidades de operación diaria para los flujos de Compras Bienes y Compras Servicios.


Problema identificado

Antes del sistema, varios procesos se gestionaban manualmente o de forma dispersa:

  • Búsqueda manual de órdenes de compra y PDFs.
  • Envío repetitivo de correos por proveedor u OC.
  • Validación manual de proveedores y correos.
  • Reasignación de tareas desde aplicativos internos.
  • Configuración separada de carpetas, plantillas y destinatarios.
  • Falta de una interfaz centralizada para los flujos de bienes y servicios.
  • Riesgo de errores por adjuntos incorrectos, correos incompletos o tareas no actualizadas.

Esto generaba reprocesos, pérdida de tiempo operativo y dependencia de tareas repetitivas de bajo valor.


Solución desarrollada

Se desarrolló una aplicación de escritorio en Python con interfaz gráfica en Tkinter/ttk, orientada a centralizar procesos operativos de compras.

La solución permite:

  • Iniciar sesión con credenciales SMTP.
  • Operar flujos separados de bienes y servicios.
  • Configurar proveedores, correos, carpetas y plantillas.
  • Enviar correos masivos con adjuntos PDF.
  • Agrupar envíos por proveedor u orden de compra.
  • Gestionar formatos HTML de correo.
  • Reasignar tareas operativas.
  • Integrarse con un módulo auxiliar para descargas automatizadas de OCs.

Funcionalidades principales

Inicio de sesión

  • Validación de credenciales SMTP.
  • Acceso controlado a la aplicación.
  • Separación entre autenticación y flujo operativo.

Menú principal

  • Acceso a Compras Bienes.
  • Acceso a Compras Servicios.
  • Entrada a módulos de configuración, correos, flujos y reasignación.

Correos masivos

  • Envío por OC individual.
  • Envío agrupado por proveedor.
  • Adjuntos PDF automáticos.
  • Plantillas HTML configurables.
  • Soporte de correos en copia mediante configuración.
  • Validaciones para evitar envíos incompletos.

Seguimientos

  • Formato de correo configurable.
  • CC independiente para seguimiento.
  • Reutilización de plantillas.
  • Envío de pruebas de formato.

Reasignación de tareas

  • Flujo visual para reasignación.
  • Filtros operativos.
  • Actualización de estado.
  • Separación por tipo de proceso.

Configuración centralizada

  • Proveedores.
  • Correos principales y alternos.
  • Asignaciones por subdepartamento.
  • Carpeta de PDFs.
  • Credenciales de Google Sheets.
  • Plantillas de correo.
  • Correos CC por proceso.

Editor HTML de formatos

  • Edición visual de plantillas.
  • Soporte de firma en imagen.
  • Envío de correo de prueba.
  • Selección de formato por envío.

Módulo complementario Descargas OC

  • Integración con DescargasOC-main.
  • Descarga y procesamiento de órdenes de compra.
  • Soporte a la operación de despacho y envío masivo.

Arquitectura general

Usuario
  ↓
Aplicación Desktop Python
  ↓
Tkinter / ttk GUI
  ↓
Módulos internos
  ├── Login SMTP
  ├── Menú Bienes
  ├── Menú Servicios
  ├── Configuración
  ├── Correos masivos
  ├── Reasignación de tareas
  ├── Plantillas HTML
  └── Descargas OC
  ↓
Servicios externos / locales
  ├── SMTP
  ├── Google Sheets
  ├── PDFs locales
  ├── Selenium
  └── SQLite / archivos de configuración

Estructura del repositorio

GestorCompras/
├── run.py
├── requirements.txt
├── requirements-dev.txt
├── GestorCompras_/
│   ├── run.py
│   └── gestorcompras/
│       ├── main.py
│       ├── gui/
│       ├── logic/
│       └── services/
├── GestorCompras_/tests/
├── DescargasOC-main/
├── Proyecto Compras_capturas/
│   ├── Configuraciones.png
│   ├── Login.png
│   ├── Menu de Bienes.png
│   ├── Menu de Servicios.png
│   ├── Menu de flujo.png
│   ├── Reasignacion de tareas.png
│   ├── correos masivos.png
│   └── descargas oc.png
└── README.md

Módulos principales

run.py

Lanzador principal desde la raíz del repositorio.

GestorCompras_/run.py

Lanzador interno del paquete principal.

GestorCompras_/gestorcompras/main.py

Punto de entrada de la aplicación, inicialización y ruteo de la interfaz.

GestorCompras_/gestorcompras/gui/

Pantallas y ventanas principales de la aplicación.

GestorCompras_/gestorcompras/logic/

Lógica de negocio relacionada con compras, proveedores, tareas, correos y validaciones.

GestorCompras_/gestorcompras/services/

Servicios de acceso a base de datos, correo, archivos, configuración e integraciones.

GestorCompras_/tests/

Pruebas automatizadas del paquete principal.

DescargasOC-main/

Módulo auxiliar para descarga y procesamiento automatizado de órdenes de compra.


Requisitos

  • Python 3.10+
  • Dependencias del proyecto:
pip install -r requirements.txt
  • Dependencias de desarrollo para pruebas:
pip install -r requirements-dev.txt

Ejecución

Desde la raíz del repositorio:

python run.py

Alternativa desde el subproyecto principal:

cd GestorCompras_
python run.py

Configuración inicial recomendada

  1. Abrir Configuración.
  2. Registrar carpeta de PDFs para despacho.
  3. Cargar proveedores y correos.
  4. Definir CC por módulo:
    • Despacho.
    • Seguimiento.
  5. Crear o editar formatos de correo.
  6. Probar formato con correo de prueba.
  7. Validar flujo de envío con datos demo antes de usarlo en operación.

Pruebas

pytest

Impacto operativo

La aplicación permite:

  • Reducir envío manual de correos repetitivos.
  • Centralizar configuración de proveedores y plantillas.
  • Disminuir errores por adjuntos incorrectos.
  • Agilizar flujos de bienes y servicios.
  • Mejorar trazabilidad de tareas operativas.
  • Reutilizar formatos HTML profesionales.
  • Integrar descargas de OCs con el proceso de despacho.
  • Documentar una solución interna como proyecto profesional.

Retos técnicos resueltos

Automatización de correos con adjuntos

El sistema permite enviar comunicaciones masivas con PDFs asociados, reduciendo trabajo manual y riesgo de errores.

Separación de flujos operativos

La aplicación diferencia procesos de bienes y servicios, manteniendo una interfaz más clara para el usuario.

Configuración centralizada

Se unificó la gestión de proveedores, correos, carpetas, plantillas y parámetros de envío.

Interfaz desktop mantenible

Se organizó la aplicación con separación entre GUI, lógica y servicios para mejorar mantenimiento.

Integración con descargas OC

El módulo complementario permite conectar la obtención de órdenes con el flujo posterior de despacho y comunicación.


Uso profesional

Este repositorio documenta una solución interna orientada a automatización de procesos administrativos y soporte operativo en compras.

Puede presentarse como experiencia en:

  • Desarrollo de aplicaciones desktop en Python.
  • Automatización de procesos administrativos.
  • Integración con SMTP y plantillas HTML.
  • Manejo de archivos PDF.
  • Gestión de configuración operativa.
  • Automatización con Selenium.
  • Separación modular de GUI, lógica y servicios.
  • Documentación técnica para portafolio profesional.

Descripción para hoja de vida

GestorCompras — Aplicación Desktop para Automatización Operativa de Compras
Python | Tkinter | SMTP | HTML Templates | SQLite | Selenium | Pytest

Diseñé y desarrollé una aplicación de escritorio para centralizar flujos operativos de compras, gestionar proveedores, configurar plantillas HTML, enviar correos masivos con adjuntos PDF, apoyar la reasignación de tareas e integrarse con un módulo de descarga automatizada de órdenes de compra. La solución reduce tareas manuales repetitivas y mejora el control operativo de bienes y servicios.

Licencia y uso

Uso interno según lineamientos del propietario del repositorio.

About

GestorCompras: herramienta autónoma de gestión de compras y proveedores en fase preliminar. Desarrollado por Jimmy Toapanta. Futuras mejoras: Orquestador de aplicativo empresarial para el ingreso automático de seguimientos y reasignaciones de tareas.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages