Sistemas Interactivos y Ubicuos
Miembros del Grupo
- Enrique Alcocer Díaz (100472118)
- Fan Wu Zhuo (100346155)
- Iván Fernández Martín-Gil (100472263)
- James Camp (100531121)
Grupo 6
Repositorio de GitHub
Para ejecutar la aplicación, es necesario ejecutar node.js en la carpeta raíz del proyecto:
~$: node index.js
Seguidamente, en un navegador web se puede acceder a la dirección http://localhost:3000/ para visualizar la aplicación. En el caso de que el cliente y el servidor se encuentren en la misma red. En el caso de que el cliente y el servidor se encuentren en redes distintas, ver el apartado ejecución cliente remoto.
En la aplicación y más en concreto en la página principal, existe la opción de acceder a un "manual" de uso de la aplicación, que se encuentra en la esquina superior derecha de la página con un icono de i
en un círculo. Al hacer clic, se abrirá una ventana emergente con información sobre cómo utilizar la aplicación.
Damos la opción de introducir un presupuesto, pero sin embargo no se ha implementado la funcionalidad de la comprobación del presupuesto (y su consecuente aviso/interacción con el usuario), debido a que hemos contemplado que para el prototipado no entraría en el alcance.
Para la última parte, correspondiente al pago, en la parte del cliente, tras pulsar finalizar compra
, se redirigirá a la página pagofinal.html
donde se podrá realizar el pago tras escaner un código QR que se genera en el cajero.
En el lado del servidor (el cajero), se redirigirá a la página cajero.html
donde se muestran los productos y el precio total de la compra, debajo hay un botón para generar el código QR, que tras pulsarlo se generará el código QR que se debe escanear desde la página del cliente.
Finalmente en el lado del cliente, tras escanear el código QR, se tendrán dos opciones:
Para ejecutar el cliente en un dispositivo remoto, hay varias alternativas, como por ejemplo el uso de tunelización con herramientas como ngrok, cloudfared, etc. En nuestro caso, hemos optado por usar ngrok siguiendo los pasos detallados en la guía de instalación. Aún así detallamos algunos pasos relevantes a continuación:
Instalar ngrok en el sistema.
~$: brew install ngrok/ngrok/ngrok
Para otros sistemas operativos, se puede seguir la guía de instalación.
Es necesario crear un cuenta (de forma gratuita, en nigún caso es necesario pagar) en la página de ngrok.
Una vez tengamos una cuenta creada y ngrok instalado, ejecutamos el siguiente comando en la terminal:
~$: ngrok authtoken <TOKEN>
Para obtener el token, seguir los pasos detallados en el paso 2. Connect your account
de la guía de instalación.
Finalmente, para ejecutar el cliente en un dispositivo remoto, ejecutamos el siguiente comando en la terminal:
~$: ngrok http http://localhost:3000
Este comando mostrará en pantalla algo del estilo:
ngrok (Ctrl+C to quit)
Session Status online
Account inconshreveable (Plan: Free)
Version 3.0.0
Region United States (us)
Latency 78ms
Web Interface http://127.0.0.1:4040
Forwarding https://84c5df474.ngrok-free.dev -> http://localhost:8080
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
Por tanto, tenemos que copiar el enlace que aparece en la línea Forwarding
en el navegador del dispositivo remoto para acceder a la aplicación, en este caso (https://84c5df474.ngrok-free.dev
). En el dispositivo remoto (es posible conectarse con varior dispositivos, sin embargo, nuestra aplicación sólo tiene en mente un cliente y servidor), una vez introducido el enlace en el navegador, debemos darle al botón de Visit Site
.
Siguiendo estos pasos, se podrá acceder a la aplicación desde un dispositivo remoto.
La aplicación cuenta con las siguientes funcionalidades:
Universidad Carlos III de Madrid | Sistemas Interactivos y Ubicuos | Grupo 6