Repo para guardar el desarrollo del software
Se utiliza un tablero canva en Trello, para realizar un mapeo a gran escala de las tareas a realizar para el desarrollo
-
MongoDB Se puede detallar el documento de PQR que quedaria para los cliente en el archivo mongo.model.json
-
DynamoDB En el caso de dynamo se crea el modelo como se muestra en el archivo dynamo.model.json, donde:
- idClient: compuesto por un identificador unico y con el nombre del client
- idRequest: compuesto por el numero de radicado y la fecha de creación
- Además cada registro en la tabla tendra los demás atributos espeificados en el diagrama
El servidor API REST se desarrolla en node con express, donde se implementan controladores, rutas con sus validaciones y un middleware que sirve para validar un token de acceso a la aplicación.
Se despliega con un contenedor a Heroku bajo con el dominio https://btg-pqr-prueba-api.herokuapp.com y se puede revisar el estado del servidor en la ruta /api/health-check
Se desarrolla una PWA (Progressive Web App) con React (utilizando Hooks y Redux) verificando el proceso con la extensión de Chrome Lighthouse, y realizando el despliegue de la pagina con un contenedor a Heroku quedando con el siguiente dominio: https://btg-pqr-prueba.herokuapp.com. Las siguientes imagenes son evidencia de que al ingresar a la pagina por medio de un celular aparece la opción de instalar:
- Video de demostración:
- https://user-images.githubusercontent.com/60258315/142914895-5ed4da2e-5ee5-425f-9910-992143b74628.mp4
Aunque cualquier persona puede descargar la app desde la página web, por se una PWA, también se integra Capacitor (de Ionic) para tener una aplicación hibrida con el mismo condigo fuente, cabe aclarar que por este camino igual tocaria ver el proyecto que nos genera Capacitor para cada plataforma (Android y IOS) para generar el APK/Bundle y así poder instalar la app. En este caso, para dispositivos android se genera el APK que se disponibiliza en la parte de Releases de GitHub. Evidencias:
- https://user-images.githubusercontent.com/60258315/142918902-5fb764f2-d34e-46c7-a9b4-401a5de1f581.mp4
La aplicación tiene 3 clientes registrados en mongo, los cuales tienen sus propiar PQR también almacenadas en mongo, entonces sentido, en la ventana de inicio se puede elegir entre uno de los 3 clientes para visualizar y gestionar sus PQR. Además pone a disposición en el misma ventana de inicio la opción de ingresar como admin, siendo este capaz de visualizar todas las PQRs exitentes de todos los clientes y dar respuesta a cualquier de ellas, así se puede simular la comunicación bidireccional de las PQR y poder aplicar las reglas de negocio:
- Solo reclamo a una petición o queja realizada hace mas de 5 días o que tenga una respuesta que no es de su agrado.
- Toda PQR tiene un codigo unico.
- Cada PQR puede ser consultada con su información y respuesta.
- Cada Reclamo puede ser consultado con su información, respuesta y Petición o Queja.
Aunque el desarrollo de la plataforma no tenia como objetivo realizar una PWA y un desarrollo multiplataforma, se puede aprovechar para analizar ambos enfoques: con ambos desarrollos para aplicaciones hibridas se alcanza el mismo fin "disponibilidad en todos los sistemas", sin embargo personalmente se resulta mas factible y optimo el desarrollo de una PWA, debido a que no se necesitan generar los proyectos ni instaladores por separados, solo es el despliegue de la aplicación web con todas las configuraciones de una PWA para poder ser instalada en cualquier celular, mientras que utilizando algun framework como Ionic sería necesario personalizar los proyectos que genera (como se ve con el icono que puso en la apk).
- Diagramación hecha en Visal Paradigm
- Despliegue hecho en Heroku
- Tecnologias:
- Recursos gráficos: