nTPV: Gestión hostelera GPL
| nTPV es el primer y único programa de gestión integral hostelera con licencia GPL desarrollado en plataforma GNU/Linux. Esto hace que sea el TPV más robusto del mercado, dando una calidad final al producto difícil de igualar por el tipo de sistema que lo soporta (GNU/Linux, Postgresql, C++, QT, KDE, XMLRPC). En el proyecto nTPV se han cuidado mucho tanto la parte técnica como la parte estética. También se ha desarrollado una gama de productos y servicios complementarios entorno a nTPV. Este conjunto de servicios y productos amplian las funcionalidades de nTPV y permiten a los hosteleros obtener el máximo beneficio a sus negocios. Napsis dispone de un equipo de desarrollo y mantenimiento pendiente de esta aplicación y su evolución | |
Objetivo
Desde los primeros tiempos del movimiento delsoftware abierto, las empresas y voluntarios hemos volcado gran parte de nuestro esfuerzo en mejorar el sistema operativo GNU/Linux. Ahora que la calidad del sistema lo hace robusto, fiable y flexible, es el momento de dar un paso atrás y tomar perspectiva. Cualquier sistema informático debe servir en su último fin para que los usuarios puedar realizar las tareas de su vida cotidiana de un modo más sencillo, rápido y cómodo.
nTPV es nuestro primer desarrollo enfocado totalmente a la gestión empresarial diaria. El objetivo que perseguimos con el desarrollo de software abierto para aplicaciones de utilidad empresarial como nTPV es demostrar que la opción de software abierto basado en licencias GPL, no solo permite a las empresas disponer de un modelo de negocio que demuestra ser eficiente, sino que presenta más ventajas para el desarrollo local de una comunidad. Igalia, con su magnífica aplicación Fisterra es uno de los principales referentes de este movimiento.
Tecnología
| nTPV es el primer y único programa del sector en implementar tecnologías distribuidas en su arquitectura. El uso de dichas tecnologías y de tecnologías inalámbricas seguras (WiFi, IPSec) es posible gracias a la elección de la plataforma GNU/Linux y hace que nTPV sea el terminal de más sencilla y barata instalación del mercado. nTPV hace uso de tecnologías biométricas para la autenticación de personal. Uno de los problemas más comunes en el sector hostelero es la rotación de personal. Para solucionar este problema y eliminar las tarjetas de acceso, códigos personales y similares, nTPV implementa tecnologías biométricas que permiten identificar a los camareros mediante sus huellas dactilares a la entrada del sistema. | |
En el apartado tecnología de nTPV hay disponible una explicación más extensa que puede ayudar a clarificar cómo funciona nTPV. Todas las bases de la tecnología de nTPV asi como las aplicaciones nTPV y nTPV Backoffice, están disponibles bajo licencia GPL y LGPL.
Sistema nTPV
nTPV es un sistema compuesto por varios programas. El más importante es el que da nombre al sistema. El sistema nTVP ha sido diseñado como un sistema modular, en el cual se dividen, por un lado las dos aplicaciones principales nTPV y nTPV BackOffice, por otro lado, las bibliotecas de funciones que utilizan estos programas, y por último, los módulos de ampliación de funcionalidad, entre los cuales será necesario instalar el módulo libre y gratuito dcopprinter, que le permitirá utilizar impresoras térmicas como la SAMSUNG SRP-350 para la impresión de tickets.
nTPV hace uso de PostgreSQL para el manejo y almacenamiento de datos. Por tanto para instalar nTPV es necesario instalar el gestor de base de datos PostgreSQL y configurarlo correctamente para admitir las consultas que el programa va a realizar. Junto con el gestor de base de datos, es necesario disponer de una base de datos inicial. Napsis dispone de una base de datos llamada caja_basica, que contiene unos pocos productos. Esta caja se puede descargar e instalar de manera gratuita. Si está interesado en adquirir bases de datos preconfiguradas para negocios hosteleros más concretos, Napsis dispone en su repertorio de configuraciones para Bares, Restaurantes, Pubs, Discotecas, Cervecerías, Cafeterías, que puede consultar en la sección de servicios sobre nTPV.
nTPV y nTPV BackOffice hacen uso de programas que necesitan ser ejecutados como superusuario. Las funciones que hace como superusuario son las siguientes: Apagado del TVP(ordenador), escaneo de la red para encontrar otros TPVs y almacenamiento de ficheros de seguridad. Es por esto que para instalar nTPV, necesitará las herramientas que permiten a nTPV acceder a dichas funcionalidades. Estas son sudo y nmap.
Dependencias de nTPV
Para poder instalar nTPV y sus módulos basicos es necesario tener instalados los siguientes programas y bibliotecas. La mayoría de ellos están instalados en las distribuciones GNU/Linux más habituales. Otras son bibliotecas o programas propios de Napsis, disponibles en este mismo sitio web.
Bibliotecas Externas
Bibliotecas de Napsis Programas externos
| |
Instalación
Existen dos modos de instalar un sistema básico nTPV. El primer modo solo está disponible para distribuciones basadas en Debian, y que consiste en la instalación de los paquetes DEB. El segundo modo es compilar todas las bibliotecas y programas necesarios, y realizar un proceso de instalación que detallaremos más adelante. Si quiere evitar problemas recomendamos el segundo modo, en cualquier caso, si tiene algún problema con el proceso de instalación, puede ponerse en contacto con Napsis.
Instalación de paquetes debian
Esta es la instalación mas sencilla, por un lado debe asegurarse de que ha instalado previamente los siguientes paquetes:
Muchas de las bibliotecas pertenecen al proyecto KDE, asi que si instala el escritorio KDE junto con el paquete libqt3c102-mt-psql habrá cumplido casi todos los requisitos para instalar los paquetes de nTPV.
Descargue los siguientes paquetes:
libbslxml (puede encontrar más información de libbslxml aquí)
XmlManage (puede encontrar más información de XmlManage aquí).
ntpvlibs
dcopprinter
nTPV- Como superusuario, realice la instalación de todos los paquetes:
- Al instalar el paquete nTPV, se habra creado un grupo llamado ntpv. Edite el fichero /etc/group y añada en el grupo ntpv al usuario con el que se va a lanzar la aplicación. (En el ejemplo dos usuarios van a ejecutar el nTPV)
- Instalar PostgreSQL y la base de datos caja_basica. Los pasos de esta instalación están disponibles aquí.
- Configurar en el fichero /etc/ntpv/bar_database, el nombre de la base de datos, el host, usuario y contraseña, para acceder a esa base de datos... si todo está como en estas instrucciones se explica el fichero debería ser algo como:
- lanzar la aplicación dcopprinter.
- lanzar la aplicación nTPV.
#dpkg -i libbslxml_0.1-1_i386.deb
#dpkg -i xmlmanage_0.1-0_i386.deb
#dpkg -i ntpvlibs_0.1-1_i386.deb
#dpkg -i dcopprinter_0.1-0.deb
#dpkg -i ntpv_0.1-4_i386.deb
#vi /etc/group
ntpv:x:1001:pepe,manuel
<?xml version = '1.0' encoding = 'ISO-8859-1'?>
<AUTOMATICALLY_GENERATED_XML>
<database>
<hostname>localhost</hostname>
<dbname>caja</dbname>
<user>ntpv</user>
<passwd/>
</database>
</AUTOMATICALLY_GENERATED_XML>
Instalación de fuentes
Esta es la instalación necesaria para desarrolladores o gente que quiera comprobar y disponer del código de nTPV. Para poder compilar todo el codigo fuente de los programas que conforman el sistema nTPV es necesario disponer aparte de las bibliotecas indicadas en pasos anteriores, de el compilador gcc y de las cabeceras de las bibliotecas que se enuncian en puntos anteriores, es decir las cabeceras de QT y KDE.
- Instalación de la biblioteca LibBslXml. La información de como descargar e instalar la biblioteca se encuentra disponible aquí.
- Instalación del programa XmlManage. La información de como descargar e instalar dicho paquete se encuentra disponible aquí.
- Instalación de las bibliotecas ntpvlibs.
Descargar ntpvlibs- descomprimir bibliotecas
- compilar
- instalar como superusuario
- Instalación de nTPV
Descargar nTPV- descomprimir nTPV
- compilar
- como superusuario mover el ejecutable linuxbar a /usr/bin/ntpv
- Instalación de nTPV BackOffice
Descargar nTPV BackOffice- descomprimir nTPV BackOffice
- compilar
- como superusuario mover el ejecutable linuxbarbackoffice a /usr/bin/ntpv_backoffice
- Instalación de dcopprinter
Descargar dcopprinter- descomprimir dcopprinter
- compilar
- instalar como superusuario
- Configuración de ficheros
- Crear un grupo llamado ntpv
- añadir al grupo ntpv los usuarios que deben ejecutar la aplicación nTPV
- Dentro del directorio de los fuentes de nTPV el directorio etc_ntpv debe ser ubicado en un directorio llamado /etc/ntpv. Ese directorio debe tener como grupo el grupo ntpv. Todos los ficheros y directorios de ese grupo tienen que tener permisos de lectura y escritura para el grupo ntpv.
- Dentro del directorio de los fuentes de nTPV el directorio usr_share_ntpv debe ser ubicado en un directorio llamado /usr/share/ntpv Ese directorio debe tener como grupo el grupo ntpv.
- Dentro del directorio de los fuentes de nTPV BackOffice el directorio etc_ntpv_backoffice debe ser ubicado en un directorio llamado /etc/ntpv_backoffice. Ese directorio debe tener como grupo el grupo ntpv. Todos los ficheros y directorios de ese grupo tienen que tener permisos de lectura y escritura para el grupo ntpv.
- Dentro del directorio de los fuentes de nTPV BackOffice el directorio usr_share_ntpv_backoffice debe ser ubicado en un directorio llamado /usr/share/ntpv_backoffice Ese directorio debe tener como grupo el grupo ntpv.
- Dentro del directorio de los fuentes de dcopprinter el directorio etc_ntpv, debe ser copiado en /etc/ntpv, con los mismos permisos que los ficheros que ya habiamos copiado allí
dentro del directorio de fuentes dcopprinter.
#cp -r etc_ntpv/* /etc/ntpv/
#chown -R root.ntpv /etc/ntpv_backoffice
#chmod 770 /etc/ntpv
#find /etc/ntpv_backoffice -type f |xargs chmod g+rw
#find /etc/ntpv_backoffice -type d |xargs chmod g+rwx - Dentro del directorio de los fuentes de dcopprinter el directorio usr_share_dcopprinter debe ser ubicado en un directorio llamado /usr/share/dcopprinter Ese directorio debe tener como grupo el grupo ntpv.
#tar xzvf ntpvlibs_0.1.tar.gz
#make
#make install
#tar xzvf ntpv.1.0.tar.gz
#make
#cp ntpv-1.0/linuxbar/linuxbar /usr/bin/ntpv
#tar xzvf ntpv_backoffice.1.0.tar.gz
#make
#cp ntpvbackoffice-1.0/linuxbarbackoffice/linuxbarbackoffice /usr/bin/ntpv_backoffice
#tar xzvf dcopprinter.1.0.tar.gz
#make
#make install
Junto con cada uno de los paquetes que ha instalado había ciertos directorios que deben estar en lugares como /etco /usr/share. En este paso se detalla donde instalar esos directorios. Todos estos pasos deben ser realizados como superusuario
#addgrp ntpv
#vi /etc/group
ntpv:x:1001:pepe,manuel
#mkdir -p /etc/ntpv
dentro del directorio de fuentes nTPV.
#cp -r etc_ntpv/* /etc/ntpv
#chown -R root.ntpv /etc/ntpv
#chmod 770 /etc/ntpv
#find /etc/ntpv -type f |xargs chmod g+rw
#find /etc/ntpv -type d |xargs chmod g+rwx
#mkdir -p /usr/share/ntpv
dentro del directorio de fuentes nTPV.
#cp -r usr_share_ntpv/* /usr/share/ntpv/
#chown -R root.ntpv /usr/share/ntpv
#mkdir -p /etc/ntpv_backoffice
dentro del directorio de fuentes nTPV BackOffice.
#cp -r etc_ntpv_backoffice/* /etc/ntpv_backoffice
#chown -R root.ntpv /etc/ntpv_backoffice
#chmod 770 /etc/ntpv
#find /etc/ntpv_backoffice -type f |xargs chmod g+rw
#find /etc/ntpv_backoffice -type d |xargs chmod g+rwx
#mkdir -p /usr/share/ntpv_backoffice
dentro del directorio de fuentes nTPV BackOffice.
#cp -r usr_share_ntpv_backoffice/* /usr/share/ntpv_backoffice/
#chown -R root.ntpv /usr/share/ntpv_backoffice
#mkdir -p /usr/share/dcopprinter
dentro del directorio de fuentes de dcopprinter.
#cp -r usr_share_dcopprinter/* /usr/share/dcopprinter/
#chown -R root.ntpv /usr/share/dcopprinter
Instalación de la base de datos.
nTPV usa como base de datos PostgreSQL. Por tanto es necesario que instale el gestor de la base de datos y luego proceda con los siguientes pasos de la configuración.- Instale PostgreSQL
- Modifique los permisos de acceso.
- Asegurese del formato de la fecha y las locales. Tienen que estar a european y Unicode(UTF-8) En el fichero /etc/postgresql/postgres.conf debe existir una entrada que ponga:
- Lance la base de datos y cree el usuario con el cual trabajará nTPV Como root realice haga:
- Descargue la caja basica e instalelá
Descargar Caja Básica - Descomprima la Caja Básica ejecutando:
- Instale la Caja Básica ejecutando como usuario con permisos de creación de tablas en a la base de datos:
- Prepare nTPV para cargar la caja básica En el fichero /etc/ntpv/bar_database debe contener el hostname donde está la base de datos, el nombre de la base de datos, que en el ejemplo que hemos puesto es caja y el usuario y password con el que nTPV debe conectarse al servidor de base de datos.
En el fichero /etc/postgresql/pg_hba.conf, asegurese de que los permisos de acceso están a trustUn ejemplo de esta configuración puede ser:
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
# Database administrative login by UNIX sockets
local all postgres trust
local all all trust
host all all 127.0.0.1 255.255.255.255 trust
host all all 192.168.0.0 255.255.0.0 trust
host all all 0.0.0.0 0.0.0.0 reject
datestyle = 'ISO,European'
#su postgresql
#createuser ntpv
y responda afirmativamente a las preguntas que se le soliciten acerca de si el usuario puede crear base de datos y si es administrador de la base de datos.Le recomendamos que haga lo mismo con su usuario habitual para que pueda manipular la base de datos de manera más c&oaucute;moda
#gunzip caja_basica.sql.gz
#createdb caja
#psql -f caja_basica.sql caja
<?xml version = '1.0' encoding = 'ISO-8859-1'?>
<AUTOMATICALLY_GENERATED_XML>
<database>
<hostname>localhost</hostname>
<dbname>caja</dbname>
<user>ntpv</user>
<passwd/>
</database>
</AUTOMATICALLY_GENERATED_XML>
Capturas de pantalla
| | | | |





