← Volver a Proyectos

En producción · Cliente real

POS Barber

Sistema de punto de venta a medida para una barbería, de la necesidad real a producción - inventario, facturación y app móvil incluidos.

  • Java 17
  • Spring Boot
  • JWT
  • PostgreSQL
  • Flutter
  • Docker
  • Nginx
Captura de pantalla de POS Barber

Backend

  • Java 17
  • Spring Boot
  • Spring Data JPA
  • JWT
  • REST API

Mobile

  • Flutter
  • Dart

Base de datos

  • PostgreSQL

Infraestructura

  • Docker
  • Linux / VPS
  • Nginx
  • Let's Encrypt
  • HTTPS

¿Cómo nació?

Mi pareja abrió su propia barbería y, como pasa con cualquier negocio que empieza, todo se llevaba a mano: cuántos clientes atendía, con qué frecuencia volvían, qué productos se vendían y cuánto dejaba el negocio en un mes. Nada estaba centralizado.

Empecé construyendo algo simple para llevar ese registro. Con el tiempo se convirtió en una plataforma completa de gestión de clientes, productos, servicios, inventario y facturación.

El problema real

Sin un sistema, era casi imposible tener una foto clara del negocio en un momento dado: cuántas facturas se generaron esta semana, qué producto se está agotando, con qué método de pago se cobra más. La idea no era solo registrar, sino construir una base sólida que ayudara a tomar mejores decisiones y que pudiera crecer junto con el negocio.

¿Qué construí?

El sistema tiene dos piezas: una app móvil en Flutter que el negocio usa a diario, y una API en Java con Spring Boot que centraliza la lógica de negocio, la autenticación y los datos. Se comunican por HTTPS y toda la información vive en PostgreSQL.

Desde la app se puede registrar y consultar clientes con su historial de facturas, administrar productos con control de inventario en tiempo real (valida disponibilidad antes de vender y avisa si algo se está agotando), gestionar los servicios de la barbería e incluirlos en las facturas junto con productos, generar facturas con cliente, productos, servicios y método de pago (efectivo, tarjeta, SINPE Móvil, entre otros), y buscar facturas por cliente, fecha o rango de fechas. Cuando el cliente tiene correo registrado, recibe automáticamente el detalle de su factura.

Cada venta actualiza el stock al instante, así que nunca se factura algo que ya no hay disponible.

Acceso y seguridad

La autenticación es con JWT: el usuario inicia sesión desde la app y usa esas credenciales en cada solicitud siguiente. Cada usuario solo ve y administra los clientes, productos, servicios y facturas que le corresponden.

Infraestructura

Todo corre en un VPS que administro yo mismo, con Docker, Nginx como reverse proxy y HTTPS con Let’s Encrypt. Cada cambio en el backend genera un nuevo .jar y lo despliego con scripts propios que automatizan la actualización.

Flutter (APK)
   │  HTTPS / REST

Nginx → Spring Boot API (JWT) → PostgreSQL

De principio a fin

Levanté la necesidad directamente con el negocio, diseñé el modelo de datos, construí la API y la app móvil, configuré la infraestructura y sigo dando mantenimiento al sistema. El código de la API es público en GitHub; la app Flutter se hizo específicamente para este negocio y se distribuye de forma privada, así que ese repositorio no es público.

Hoy

POS Barber está en producción y forma parte de la operación diaria del negocio: ahí vive toda la información de clientes, productos, servicios y facturación, disponible desde cualquier lugar con internet.

Entre las ideas que tengo para más adelante están promociones por cumpleaños, cupones o descuentos para clientes frecuentes, aunque por ahora son solo eso: ideas.