Software y sistemas

Sistema gratuito para renta de consolas de videojuegos

En este post te mostraré un programa que he terminado de hacer y que es totalmente gratuito. Se trata de un software para rentar consolas de juegos o computadoras por tiempo y cobrar por ese tiempo, con opción para agregar productos adicionales a la renta.

El sistema gratuito te ayudará si tú tienes un negocio de renta de consolas de juegos o tienes un cibercafé. De cierto modo esto podría ser una alternativa a CafeStation de CafeSuite o Control de Ciber.

Este sistema permite registrar equipos como consolas de juegos o computadoras con precio por hora, colocar tiempo libre o un tiempo límite y agregar productos al consumo de la renta.

Entre sus características se encuentran:

  • Control de dispositivos con descripción y precio por hora
  • Gestión de productos para vender, con descuento de inventario
  • Módulo para rentar consolas, computadoras, etcétera ya sea por tiempo libre o con límite
  • Escritorio con reporte de rentas y productos vendidos, así como gráficas de ventas y detalles
  • Ajuste de redondeo y tolerancia para el costo de la renta
  • Impresión de tickets en impresora térmica
  • Soporte para móviles
  • Opción para usar a través de la red de área local (LAN)

A lo largo de este artículo te mostraré los módulos del programa, cómo descargarlo y cómo usarlo.

Por cierto, no es un post falso ni algo para distribuir virus. Realmente te ofrezco un programa totalmente gratuito (no versión demo, sin restricciones) tal y como todo lo que publico en mi blog.

Gestión de dispositivos

Comencemos viendo la gestión de equipos, consolas de videojuegos, computadoras, etcétera. Aquí se registran los dispositivos que rentamos en nuestros negocios (por ejemplo Xbox, PlayStation, Nintendo Switch, PC, etcétera).

El formulario nos pide el precio por hora y la descripción del dispositivo, mismo que aparece más tarde en el módulo:

Gestión de consolas y computadoras para rentar

Obviamente podemos editar y eliminar los dispositivos. Solo ten cuidado, pues al eliminar un dispositivo se van a eliminar los datos de renta del mismo en caso de que existan.

Productos

Normalmente cuando se rentan consolas o computadoras los clientes consumen botanas o bebidas, así que he añadido la opción de llevar un inventario de productos para agregar junto con la renta de los equipos:

Registrar producto para vender junto con renta de consola de juego

Tenemos la descripción y los precios de compra y venta para poder calcular la utilidad. Es como un pequeño sistema de ventas, con lo necesario para llevar la renta de consolas y venta de productos.

Se hace una gestión del inventario, ya que podemos agregar, editar o eliminar productos. Y cada que vendemos un producto, la existencia se resta.

Control de renta

Llegamos al apartado principal de este programa gratuito: la renta de consolas de videojuegos o computadoras. Aquí tenemos una lista de los dispositivos que tenemos registrados.

Consolas de juegos en renta – Con tiempo libre

Al inicio, aparecen las opciones de:

  • Tiempo libre: iniciar a rentar el dispositivo de manera libre, sin límite de tiempo. En este caso el tiempo va en aumento.
  • Con límite: colocar una cuenta regresiva para el dispositivo, ya que se renta con límite.

Si elegimos con tiempo libre entonces se nos solicita confirmación y después el tiempo comienza a transcurrir, así como el costo en tiempo real.

Renta con límite de tiempo

Por otro lado tenemos la renta con límite, en donde al elegir la opción se nos solicita el tiempo que el usuario renta:

Solicitar tiempo límite para renta de consola en negocio de juegos

En la imagen de arriba, por ejemplo, vamos a rentar la consola Xbox Series S (con eso te armas una PC) por 3 horas y media.

Opciones al rentar

Lo que te mostré arriba es apenas la manera de iniciar la renta, pero una vez que el tiempo ya ha iniciado tenemos varias opciones.

En el caso de dispositivos con tiempo libre tenemos:

Opciones para dispositivo con tiempo libre

En donde podemos pasar de “Tiempo libre” a “Con límite”, así como Detener el tiempo para cobrar, Pausar el tiempo o editar los productos que van ligados a esa renta.

Y en el lado de dispositivos con tiempo límite tenemos otras opciones como se ve en la imagen:

Opciones para consola con tiempo límite – Cuenta regresiva

Tenemos igualmente la opción para cambiar a Tiempo libre, Cobrar la renta (ya que aquí el tiempo no se detiene), Agregar tiempo (para cuando te dicen me das otra media hora por favor), pausar y gestionar Productos.

Productos de consola rentada

Como ya dije anteriormente, este sistema permite que el cliente consuma productos además de la renta de la computadora o consola. Cuando seleccionamos esa opción, aparece un modal con la información:

Agregar productos a la renta de consola

Tal y como se ve en la imagen, podemos escribir parte de la descripción del producto y el mismo se va a autocompletar.

Se pueden agregar productos infinitos, al final se irá viendo la lista de todos los productos agregados en donde también se pueden eliminar:

Productos vendidos junto con renta de consola de juegos

Terminar renta de consola

Otro apartado para este programa de renta de consolas y computadoras es el de Cobrar. Este diálogo va a aparecer cuando detengamos el tiempo libre o cuando decidamos cobrar el tiempo con límite.

Es importante mencionar que si el tiempo límite no se detiene, aparecerá una sugerencia con el monto que realmente se debería cobrar. Es decir, si el usuario “se pasa” del tiempo límite, el mismo se vuelve negativo y se cobra:

Cobrar tiempo rentado y revisar tiempo transcurrido

Fíjate en el fondo: tenemos un tiempo negativo de 9 horas, esto es porque el usuario ya se pasó de las 3 horas y media que rentó al inicio.

Entonces en el diálogo aparece el monto por el tiempo rentado y también el monto por el tiempo real. Ahí es decisión del operador cobrar lo que sea necesario (igualmente el costo, inicio y fin se registran en la base de datos).

Por otro lado tenemos el cobro normal de tiempo en donde también se toman en cuenta los productos:

Detener renta de consola – Programa gratuito para negocio de renta de consolas de videojuegos

Y todos los productos, precios, tiempos, etcétera quedan registrados en la base de datos. Una vez que se cobra la renta, el dispositivo vuelve a estar disponible para rentarse y comenzar un nuevo ciclo.

Impresión de tickets

Cada vez que se realiza el cobro de la renta de la consola o pc, se imprime un ticket automáticamente en caso de que la impresora esté configurada correctamente. A continuación te muestro cómo salen los tickets:

Impresión de tickets en sistema para negocio de renta de consolas y computadoras

En el ticket o recibo de pago aparece todo: el tiempo de inicio, el fin, tiempo transcurrido, tiempo pausado, equipo rentado, costo por hora y los detalles de los productos comprados así como el gran total.

Obviamente si no hay tiempo pausado entonces el mismo no aparece, de igual manera si no hay productos entonces la lista no aparece.

Por cierto, los tickets pueden reimprimirse en el Escritorio, pero eso lo vamos a ver más adelante.

Nota: el sistema solo soporta impresoras térmicas. No intentes usar impresoras virtuales o de tinta (o como se llamen las no térmicas).

Ajustes

Además de la renta y de los reportes, tenemos un apartado de ajustes. Aquí tenemos dos cosas importantes para el caso de la renta de consolas: la configuración del redondeo y los ajustes de la impresora.

Ajuste de costo, tolerancia y redondeo

Veamos este ajuste para hacer más accesible el costo del tiempo rentado. Por cierto, si tú no quieres que esto aplique simplemente no muevas nunca ningún campo.

Ajustar tolerancia y redondeo de costo

El costo por hora es un costo de ejemplo que debes colocar para que el simulador funcione. Este costo puede ser un costo real de una de tus consolas.

Para el caso de lo que se ve en la imagen, el costo por hora es de 50 pesos, y se redondea a los próximos 30 minutos con una tolerancia de 5 minutos.

Esto significa que si el usuario tarda entre 0 y 30 minutos, se le cobrarán 30 minutos. O sea, no importa si tarda 1 minuto o 29, se le va a redondear a los próximos 30 minutos (si tarda entre 30 y 60 minutos, se le va a cobrar una hora, sin tomar la tolerancia que vamos a ver justo a continuación)

Por otro lado tenemos la tolerancia; en este caso si por ejemplo el usuario tarda 35 minutos se restan esos 5 minutos de tolerancia y solo se le cobra media hora, en lugar de cobrarle una hora completa.

Y si tú me preguntas por qué tantos ajustes, te invito primero a probarlo y entenderlo, no es tan complicado como parece. Lo he dejado así porque en ocasiones el costo sale con varios decimales.

De todos modos ahí está el simulador como puedes ver en la imagen, de ese modo puedes ver cuánto se le cobra al usuario según el tiempo.

Impresora

Este punto es muy importante. Este software es compatible con la gran mayoría de impresoras térmicas, pero no imprime por sí mismo; usa un plugin que yo mismo he desarrollado (no obstante ambas cosas son totalmente distintas y separadas).

Entonces para que todo funcione debes ir a la siguiente página: https://parzibyte.me/plugin-impresora-termica-v1/comenzar_a_usar.php y probar todos los pasos, hasta el paso número 7.

Si todo funciona bien entonces has configurado correctamente tu impresora, ahora solo basta con ir a los ajustes del sistema y configurarla desde ahí:

Configurar impresora en software para renta por tiempo

No te confundas. Una cosa es descargar el plugin, configurarlo y probarlo. Una vez que esté probado entonces ya puedes ir al sistema y configurar el sistema con el plugin. Y también cabe aclarar que el sistema funciona bien incluso sin impresora ni plugin.

Escritorio y reportes

Nota: si notas inconsistencia en los datos mostrados a continuación es porque son datos aleatorios que generé para rellenar la base de datos.

Al final de todo tenemos los reportes dentro del escritorio. Primero tenemos un reporte en donde podemos seleccionar (con precisión de segundos) el rango de fechas en las que queremos ver el reporte:

Reporte de dispositivos rentados por fecha

Como puedes ver tenemos el total con el tiempo rentado, el tiempo transcurrido con todas las pausas y el costo por renta junto con los productos. También es aquí en donde tenemos la opción de volver a imprimir los tickets.

Por otro lado tenemos las gráficas con ganancias por mes, en donde podemos elegir un año y ver cómo nos ha ido en todo ese año separado por mes. De manera similar tenemos una gráfica para elegir un mes y un año y ver las ganancias por día:

Ganancias por día y por mes en programa gratuito para renta de consolas

Finalmente me di a la tarea de ver cómo se comportan los equipos rentados y sacar una gráfica de las veces que se rentan, el tiempo total que se rentan y cuántos ingresos generan (ya que aunque una consola se rente mucho, puede que no nos dé muchos ingresos, o viceversa):

Gráficas y estadísticas de consolas por tiempo rentado, ingreso y veces rentado

Con estos datos podemos analizar cómo se comporta nuestro negocio y saber cuáles consolas o computadoras son las que generan más, así como saber cuáles nos dan más ingresos y todo eso.

Apartado técnico

Por si te interesa saberlo, el sistema fue creado con Buefy y Go. Buefy obviamente del lado del cliente, y Go del lado del servidor con el framework de Gorilla. Para las bases de datos utilicé SQLite3 sin ORM.

Para el caso de las gráficas utilicé Chart.js integrándolo en Vue como en este tutorial. Debido a que usé Buefy que a su vez usa Bulma, el programa es totalmente responsivo. Así se ve en mi POCO X3:

Sistema para renta de consolas de juegos – Gratuito y responsivo

Obviamente puedes comenzar y detener la renta de consolas desde cualquier dispositivo, ya que todo se gestiona en el servidor.

Descargar programa

Ahora te mostraré cómo instalar y descargar el programa. Primero procede a descargarlo haciendo clic aquí.

Una vez que lo tengas extrae el zip y ejecuta control_tiempo_by_parzibyte_prod_64.exe. Si el antivirus o el Firewall se quejan, dale los permisos necesarios. Si todo va bien, el programa abrirá automáticamente el navegador web en http://localhost:5000/static/index.html

Nota: si el programa no inicia te recomiendo revisar el registro del sistema que tendrá un nombre parecido a Registro del sistema_2021-11.log

Nota 2: para conectarte por red local averigua la IP de la computadora en donde el programa se ejecuta, y en el dispositivo desde el que te vayas a conectar escribe la IP seguida de :5000/static/.

Por ejemplo, si la IP de tu computadora es 192.168.100.14 entonces en el navegador del otro dispositivo debes escribir http://192.168.100.14:5000/static/

Y así de simple el programa funcionará correctamente. En cuanto al plugin de impresión ya dejé las instrucciones anteriormente.

Código fuente y funcionamiento en internet

El programa es totalmente gratuito y lo puede usar cualquier persona sin restricciones de tiempo ni mal funcionamiento. Sin embargo, el software no es open source.

Si quieres el código el costo es de 75 USD. Para conseguirlo realiza el pago con los métodos listados en esta página y luego envíame un mensaje indicando el ID de transacción.

Este software puede funcionar en internet y en servidores web. Si quieres que esté en internet simplemente obtén el código fuente, súbelo a un VPS en donde puedas instalar Go y NPM, compílalo y accede al mismo (también puedes contratarme para subirlo, solo indícame que lo quieres en internet después de haber comprado el código)

También puedes compilar este programa para Linux, Android y MacOS. De hecho puedes compilarlo en cualquier lugar donde exista GCC, el compilador de Go y NPM (aunque NPM es opcional porque puedes compilar el JS en otro lado, pero eso es otra historia).

Conclusión

Por cierto, este programa está altamente inspirado (pero juro que no copié ni pegué nada) en el control de estacionamientos. Fue complejo implementar las pausas y el conteo del tiempo, pero al final todo funcionó perfectamente.

Para terminar te dejo con más programas que he creado.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

4 días hace

Esta web usa cookies.