Skip to content

2844dev/FreeTPV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

189 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues project_license


Logo

FreeTPV

Un software TPV gratuito y de código abierto enfocado a la hostelería.
Reportar Bug · Solicitar función · Ver web


Tabla de contenidos
  1. Sobre el proyecto
  2. Características
  3. Herramientas utilizadas
  4. Estructura del proyecto
  5. Instalación
  6. Capturas de pantalla
  7. Roadmap
  8. Contribuir
  9. Licencia
  10. Contacto
  11. Créditos

Sobre el proyecto

FreeTPV es una aplicación de punto de venta (TPV) de escritorio, gratuita y de código abierto, pensada para negocios de hostelería como bares, restaurantes y cafeterías.

Funciona completamente en local, sin necesidad de conexión a internet ni suscripciones. Los datos se almacenan en una base de datos SQLite en el propio equipo.


Características

  • 🔐 Sistema de usuarios con contraseñas cifradas mediante bcrypt y roles (Admin / Camarero)
  • 🛍️ Gestión de productos y categorías con imágenes, precios, IVA y estado
  • 🧾 Pantalla de ventas con cobro en efectivo o tarjeta e impresión de tickets ESC/POS
  • ⚙️ Configuración completa — datos de empresa, ticket, impresora y apariencia
  • 🎨 Múltiples temas (Primer Light/Dark, Nord, Cupertino, Dracula)
  • 💾 Copias de seguridad de la base de datos
  • 📋 Logs automáticos con rotación diaria

Herramientas utilizadas

Java JavaFX SQLite

Tecnología Uso
Java 25 Lenguaje principal
JavaFX 26 Interfaz gráfica
SQLite (JDBC) Base de datos local
AtlantaFX Tema y estilos de UI
Ikonli / FontAwesome 5 Iconos
bcrypt Cifrado de contraseñas
escpos-coffee Impresión de tickets ESC/POS
SLF4J + Logback Sistema de logs
Maven Gestión de dependencias y build

Estructura del proyecto

FreeTPV/
├── landing/   # Página web con Next.js + Tailwind CSS
├── src/
│   └── main/
│       ├── java/
│       │   ├── module-info.java
│       │   └── com/mateo/freetpv/
│       │       ├── controller/   # Controladores de JavaFX
│       │       ├── dao/          # Acceso a la base de datos
│       │       ├── model/        # Modelos de datos
│       │       ├── service/      # Lógica de negocio
│       │       └── util/         # Utilidades generales
│       │
│       └── resources/
│           └── com/mateo/freetpv/
│               ├── images/       # Recursos gráficos
│               └── view/         # Vistas FXML
│
├── pom.xml
├── mvnw
├── mvnw.cmd
└── README.md

Instalación

Windows

  1. Ve a la página de Releases y descarga el instalador .exe de la última versión.
  2. Ejecuta el instalador y sigue los pasos.
  3. Abre FreeTPV desde el acceso directo del escritorio o el menú de inicio.
  4. En el primer arranque, crea tu usuario administrador.

No es necesario tener Java instalado. El instalador incluye todo lo necesario.

Compilar desde el código fuente

Requisitos previos:

  • Java 25 o superior
  • Maven 3.9 o superior
# Clona el repositorio
git clone https://github.com/2844dev/FreeTPV.git
cd FreeTPV

# Compila y empaqueta
./mvnw clean package

Para ejecutarlo desde IntelliJ IDEA, añade estas opciones de VM en la configuración de ejecución:

--enable-native-access=org.xerial.sqlitejdbc
--enable-native-access=javafx.graphics

Capturas de pantalla

Pantalla de ventas de FreeTPV
Ventas
Pantalla de cobro de FreeTPV
Cobro
Gestión de productos en FreeTPV
Productos
Pantalla de ajustes de FreeTPV
Ajustes

También hay capturas en modo oscuro disponibles en la web del proyecto.


Roadmap

  • Pantalla de login
    • Contraseñas cifradas con bcrypt
    • Pantalla de creación del primer usuario administrador
  • Base de datos SQLite local (sin internet)
  • Gestión de empleados
    • Tabla de usuarios con búsqueda y filtros
    • Creación y edición de usuarios
    • Roles personalizables con permisos
  • Gestión de productos
    • Creación y edición de productos con imagen, precio e IVA
    • Filtros por categoría, estado y favorito
  • Gestión de categorías
  • Pantalla de ventas
    • Cobro en efectivo y tarjeta
    • Impresión de tickets ESC/POS
    • Historial de ventas
  • Configuración completa (empresa, ticket, impresora, apariencia)
  • Múltiples temas visuales
  • Logs automáticos con rotación diaria
  • Copias de seguridad
  • Instalador .exe para Windows (GitHub Actions)
  • Gestión de mesas y zonas
  • Gestión de clientes
  • Gestión de stock

Consulta los issues abiertos para ver el estado de las funciones propuestas y los errores conocidos.


Contribuir

Las contribuciones son bienvenidas y muy apreciadas. Si tienes una sugerencia, haz un fork del repositorio y abre una pull request. También puedes abrir un issue con la etiqueta correspondiente.

No olvides darle una estrella al proyecto si te ha resultado útil. ¡Gracias!

  1. Haz un fork del proyecto
  2. Crea tu rama de función (git checkout -b feature/NuevaFuncion)
  3. Haz commit de tus cambios (git commit -m 'Añade NuevaFuncion')
  4. Sube la rama (git push origin feature/NuevaFuncion)
  5. Abre una Pull Request

Top de contribuidores

contrib.rocks image

Licencia

Distribuido bajo la licencia MIT. Consulta LICENSE para más información.


Contacto


Créditos


About

Un software TPV gratuito enfocado a la hosteleria.

Topics

Resources

License

Stars

Watchers

Forks

Contributors