Pantalla de acceso del Punto de Venta Corporativo desarrollado en Flutter

Migración del POS · Flutter Desktop

Punto de Venta Corporativo

El POS original en Python y PyQt6 está migrando a Flutter Desktop. La nueva base soporta operación local y conexión a servicios remotos.

Ver el estado del remake

En desarrollo · 2026

Origen
Python / PyQt6
Nueva base
Flutter / Dart
Persistencia
Local, directa y API
Enfoque
Migración por módulos

01 · La evolución

El conocimiento del negocio se conserva en una base nueva.

La primera versión resolvió un problema real y concentró años de aprendizaje funcional. También dejó decisiones que hoy puedo revisar con más experiencia y mejores herramientas.

Esta etapa migra los flujos por partes. Cada módulo se revisa, se rediseña y se incorpora a Flutter con contratos claros y una separación real entre interfaz, dominio y datos.

01

Versión original

Python y PyQt6 validaron los módulos, procesos comerciales y necesidades del POS corporativo.

02

Migración progresiva

La paridad se construye función por función mientras el sistema original sigue disponible como referencia.

03

Nueva plataforma

Flutter concentra la experiencia de escritorio y permite aplicar lo aprendido en la primera versión.

02 · Experiencia de producto

Una interfaz pensada para el trabajo diario.

La navegación agrupa los módulos alrededor del trabajo cotidiano. La jerarquía visual y los estados de cada pantalla ayudan a localizar la siguiente acción sin perder el contexto corporativo.

Centro de operaciones. Los módulos principales quedan a la vista junto con el resto del producto que todavía está en migración.

03 · Flujos centrales

Venta e inventario ya funcionan sobre la nueva base.

04 · Arquitectura de datos

Local para escritorio. API solo cuando hace falta.

Hay tres modos de persistencia y cada uno cubre un entorno distinto. El escritorio puede trabajar sin red; Hono entra cuando la base se expone como servicio.

SQLite embebido

Sin Hono

Funciona sin red y deja la instalación lista para trabajar en local.

MySQL o MariaDB directo

Sin Hono

Flutter conecta directamente con una base local o de la red interna, por ejemplo mediante WAMP.

Servidor Hono

API remota

Hono mantiene las credenciales en el servidor y conecta con PostgreSQL/Neon o MySQL remoto.

Conexión explícita. El asistente separa cada backend, valida el destino elegido y permite cambiar de conexión desde la misma pantalla.

05 · Modelo empresarial

El sistema entiende la estructura detrás de cada venta.

Mi negocio modela corporativo, tienda principal y sucursales. Así la aplicación sabe desde qué entidad se opera, cómo se relacionan sus unidades y qué configuración corresponde a cada una.

Jerarquía operativa. La misma interfaz muestra las relaciones del negocio y el detalle de la unidad activa.

06 · Decisiones técnicas

La migración también ordena la arquitectura.

La nueva base separa presentación, dominio y datos para que cada modo de persistencia cambie sin duplicar el flujo de venta.

Módulos separados

Cada capa tiene una responsabilidad: la interfaz no decide cómo se guarda un dato.

Estado explícito

Riverpod activa el proveedor seleccionado sin cambiar las pantallas.

Mismo contrato

SQLite, MySQL y la API entregan los mismos modelos al flujo de venta.

Transacciones claras

Los parámetros nombrados y las migraciones reducen errores en operaciones críticas.

Stack principal

  • Flutter
  • Dart
  • Riverpod
  • GoRouter
  • SQLite
  • MySQL / MariaDB
  • Hono
  • TypeScript
  • PostgreSQL / Neon
  • bcrypt

07 · Estado del remake

Una base funcional que todavía está migrando.

El remake ya cubre la operación principal y sigue incorporando los módulos que faltan del sistema original.

Implementado

  • Cambio entre SQLite, MySQL y API Hono desde la configuración.
  • Inicio de sesión y sesión persistente con conexión local o remota.
  • Venta con búsqueda, carrito, totales y registro transaccional.
  • Inventario con productos, categorías, proveedores y existencias.
  • Estructura de corporativo, tienda principal y sucursales en Mi Negocio.

En migración

  • Corte de caja y cierre completo de la jornada.
  • Administración, métricas y reportes.
  • Terminal e integraciones de pago del sistema original.
  • Paridad funcional antes de retirar los módulos PyQt6.

La segunda versión conserva lo aprendido y abre otra etapa.

Este remake documenta una evolución técnica y personal: volver a un producto propio con decisiones más claras y herramientas que permiten seguir construyéndolo.