Git Product home page Git Product logo

jcamilorpo / btgprueba Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 1.11 MB

Repo para guardar el desarrollo del software. Se crea un tablero canva para realizar un minimo mapeo de las tareas a realizar

Home Page: https://btg-pqr-prueba.herokuapp.com/PWA

JavaScript 89.07% Dockerfile 0.35% HTML 2.33% CSS 0.36% Java 1.87% TypeScript 0.31% Swift 5.01% Ruby 0.69%
react pwa capacitor node express mongodb js webapp cross-platform

btgprueba's Introduction

BTGPrueba

Repo para guardar el desarrollo del software

Metodologia ágil

Se utiliza un tablero canva en Trello, para realizar un mapeo a gran escala de las tareas a realizar para el desarrollo

Diagrama DB

image

  • 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

Servidor API Rest

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

Aplicación

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:

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:

Consideraciones

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).

Referencias

btgprueba's People

Contributors

jcamilorpo avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.