CASO DE ESTUDIO / 01
KontrolFit Desktop
La operación diaria de un gimnasio, desde una aplicación de escritorio que funciona sin conexión a internet.
En esta página
01 / CONTEXTO
El problema y la solución
El punto de partida
Administrar socios, membresías, pagos, asistencias y caja sin depender de una conexión permanente ni de un servidor remoto.
La propuesta
Una aplicación local que reúne la recepción del gimnasio, valida las membresías al registrar entradas y conecta los cobros con la caja y la impresión de comprobantes.
02 / PRODUCTO
Funciones principales
Socios y membresías
Códigos únicos, búsqueda y filtros por plan o estado. Las renovaciones anticipadas conservan los días ya pagados.
Recepción y asistencias
Registro por código con validación de membresía y pago. Las visitas de un día se gestionan sin crear socios.
Caja e impresión
Apertura, ingresos, movimientos y cierre de caja con tickets para pagos, visitas y cierres.
Control de la información
Permisos por módulo, respaldos y restauración de la base de datos, además de exportación a CSV.
03 / IMPLEMENTACIÓN
Decisiones técnicas
Datos locales con SQLite
Go y Wails integran la aplicación con el sistema operativo; SQLite y GORM almacenan la información en el equipo.
Impresión directa con ESC/POS
Tickets de 58 u 80 mm para Windows y Linux sin pasar por el diálogo del navegador ni generar un PDF.
Activación sin conexión
Licencias vinculadas al equipo, verificadas con firmas Ed25519, para mantener el funcionamiento offline.
04 / CAPTURAS
El proyecto en pantalla
Una selección de vistas del proyecto. Pulsa una captura para verla a tamaño completo.
05 / DOCUMENTACIÓN
Explorar en detalle
El recorrido completo por los módulos, las reglas y las pantallas del proyecto.
Leer documentación completa
KontrolFit es una aplicación de escritorio para administrar las operaciones diarias de un gimnasio: socios, membresías, pagos, asistencias y caja. Funciona completamente sin conexión a internet y almacena la información en una base de datos local.
Stack tecnológico
Desarrollada con Go y Wails para el backend e integración con el sistema operativo, Vue 3, Nuxt UI y Tailwind CSS para la interfaz, y SQLite con GORM para la gestión de datos.
Panel principal
Al iniciar sesión, el usuario accede a un dashboard con un resumen de la actividad del gimnasio: asistencias, visitas y pagos del día, estado de la caja y movimientos del período. Desde esta pantalla también puede registrar una asistencia ingresando el código del socio, sin tener que navegar a otro módulo.

Gestión de socios y planes
El sistema permite registrar y editar socios, asignarles un plan y consultar el estado de su membresía. Cada socio tiene un código único que facilita su identificación y el registro de sus entradas. El listado incluye búsqueda por nombre, teléfono o código, además de filtros por plan y estado, lo que permite identificar rápidamente a los socios al día, con membresías vencidas o inactivos.
Los planes se pueden configurar con nombre, precio y duración en días, así como activar o desactivar según las necesidades del gimnasio.

Pagos y renovación de membresías
El usuario puede registrar pagos, consultar su historial y filtrar los movimientos por fecha, socio y método de pago. También puede dar de alta a un socio junto con su pago inicial en una misma operación. El sistema calcula automáticamente el período de la membresía; si el socio renueva antes de su vencimiento, el nuevo período comienza desde la fecha de vencimiento existente, evitando perder días ya pagados.

Asistencias y visitas diarias
Las asistencias se registran mediante el código del socio. Antes de guardar una entrada, el sistema valida que el socio esté activo y tenga una membresía vigente con un pago válido. También incluye un módulo de visitas diarias para personas que pagan una entrada individual, sin necesidad de registrarlas como socios; cada visita queda asociada a su plan, importe y método de pago.
Control de caja
La caja permite registrar un saldo inicial, consultar los ingresos y movimientos del período, y realizar el cierre con su comprobante correspondiente. Para mantener el control de las operaciones, los cobros de membresías y visitas requieren que la caja esté abierta. El historial permite revisar cierres anteriores y consultar los movimientos que forman parte de cada uno.

Impresión de tickets
La aplicación integra impresión directa en impresoras térmicas mediante ESC/POS, sin depender del diálogo de impresión del navegador ni generar archivos PDF. Permite imprimir comprobantes de pagos, visitas y cierres de caja, e incluye selección de impresora, configuración de papel de 58 o 80 mm e impresión de prueba, con integración específica para Windows y Linux.
Usuarios y permisos
El administrador puede crear cuentas para el personal y asignar permisos de acceso por módulo. El menú y la navegación se adaptan a los permisos de cada usuario, permitiendo distribuir las tareas del gimnasio sin dar acceso a todas las secciones del sistema.
Respaldos y exportación de información
El usuario puede elegir una carpeta de respaldos una sola vez y generar nuevas copias de la base de datos con un botón; cada archivo se guarda con fecha y hora, sin volver a solicitar el destino. La aplicación también permite restaurar una copia existente, creando previamente un respaldo de seguridad de los datos actuales. Además, socios, pagos y movimientos de caja se pueden exportar a CSV compatible con Excel.
Activación por equipo
KontrolFit incluye un sistema de licencias offline vinculadas al equipo y verificadas mediante firmas digitales Ed25519. Esto permite distribuir la aplicación con activación por computadora, manteniendo su funcionamiento sin depender de un servidor o una conexión permanente a internet.