ERP de Gestión para Tapicería
Trabajo de Fin de Ciclo: aplicación de escritorio para digitalizar y centralizar la gestión integral de un negocio de tapicería.
01 — Contexto
Un negocio real gestionado a mano
El taller de tapicería gestionaba su operativa diaria con Excel, papel y memoria. Presupuestos, pedidos, materiales y clientes vivían en sitios separados y sin conexión entre ellos.
Cada encargo es diferente: cambia el mueble, la tela, el relleno y las horas de mano de obra. Eso generaba errores en cotizaciones, poca trazabilidad y mucho tiempo invertido en tareas administrativas que se repetían a diario.
02 — Necesidades
Qué necesitaba el negocio
03 — Solución
Funcionalidades del ERP
04 — Arquitectura
Cómo está construido
Backend
Frontend / Desktop
La aplicación integra frontend, backend, base de datos y runtime en un mismo instalador de escritorio. El usuario ejecuta la aplicación directamente, sin instalar Java, PostgreSQL, Node ni ningún entorno de desarrollo.
05 — Retos técnicos
Complejidad del proyecto
Integración React + Electron + Spring Boot
Coordinar el frontend React dentro de Electron con un backend Spring Boot que arranca y se detiene junto con la aplicación de escritorio. Gestionar el ciclo de vida del backend desde el proceso principal de Electron.
PostgreSQL local y persistencia
Incluir PostgreSQL como base de datos local dentro de la aplicación empaquetada. Flyway se encarga de las migraciones para que la estructura evolucione junto con las actualizaciones del software.
Empaquetado y distribución
Empaquetar todas las dependencias necesarias (Java runtime, PostgreSQL, frontend y backend) en un instalador de Windows que funcione en equipos sin entorno de desarrollo preparado.
Importación y procesamiento de datos
Procesamiento de tarifas textiles desde archivos Excel y generación de documentos PDF desde la lógica de negocio del backend.
Seguridad y facturación
Autenticación con JWT y cifrado BCrypt. Integración de facturación electrónica dentro del flujo de gestión de la aplicación.
06 — Resultado
Un sistema empresarial completo
El resultado es una aplicación de escritorio que centraliza la operativa del taller —presupuestos, trabajos, clientes, catálogo y facturación— en una única herramienta instalable.
El proyecto me obligó a trabajar en arquitectura, modelado de datos, seguridad, integración entre procesos, persistencia local, empaquetado y distribución, además del desarrollo backend y frontend.
07 — Aprendizajes
Qué me llevé del proyecto
Pensar en dominio, no en CRUD
Modelar las reglas de un negocio real obliga a entender el dominio. Cada excepción del taller se convierte en una regla de software que hay que resolver limpiamente.
Construir un producto, no solo código
Empaquetar, distribuir e instalar una aplicación para un usuario final cambia por completo cómo piensas en la arquitectura y en las dependencias del proyecto.
Backend con consecuencias reales
Un error en un presupuesto o en una factura no es un bug de clase: afecta a un cliente y a la operativa del negocio. Eso cambia cómo diseño validaciones, modelos y flujos.