INFOREN es un sistema web que te permite gestionar el seguimiento y la planificación de tus actividades de forma sencilla y eficiente. Está diseñado para que puedas tener todo bajo control, desde los objetivos de tu proyecto hasta el progreso de cada tarea.
INFOREN está compuesto por tres partes principales:
– Frontend: Es la parte que ves en tu navegador. Aquí puedes crear y gestionar tus proyectos, tareas, hitos y usuarios.
– Backend: Es la parte que se encarga de procesar la información y almacenarla en la base de datos.-
– Bases de datos: Almacenan toda la información de tus proyectos, tareas, hitos y usuarios.
Con INFOREN puedes crear crear proyectos, ver las historias de usuario asociadas a cada proyecto y gestionar estos mismos.
La funcionalidad de creación 4 gestión d proyectos en INFOREN se puede utilizar para gestionar proyectos de cualquier tamaño o complejidad. Esta funcionalidad es adecuada para una variedad de organizaciones, incluidas empresas, agencias gubernamentales y organizaciones sin fines de lucro.
INFOREN le permite asignar actividades a los miembros de su equipo, de esta forma puede planificar las actividades que cada integrante de su equipo realizará para las historias de usuario.
La asignación de tareas en INFOREN tambié puede ayudar a:
+ Mejorar la productividad: La asignación de tareas ayuda a garantizar que las tareas se completen de manera eficiente y oportuna.
+ Reducir los errores: La asignación de tareas ayuda a garantizar que las tareas se completen correctamente.
Con INFOREN usted cuenta con una página inicial que le muestra en gráficas y en listado, las actividades pendientes que cada usuario posee.
También en cada Historia de Usuario, usted puede visualizar el listado de tareas en total desde una ventana flotante, desde esta ventana también puede acceder a una tarea en concreto.
El sistema INFOREN le permite visualizar en gráficas los avances de los usuarios y de los proyectos. Asimismo, puede crear informes por usuario y exportarlos en formato PDF; en este informe usted puede visualizar las actividades que ha realizado el usuario en un periodo y la cantidad de horas que ha desempeñado para realizar dicha función.
INFOREN es un sistema web de seguimiento y planificación de actividades desarrollado bajo la arquitectura de microservicios. Esta arquitectura consiste en dividir el sistema en una serie de servicios pequeños e independientes. Cada servicio es responsable de una tarea específica, como administrar los proyectos, las tareas o los usuarios
Front-end
El frontend es la parte del sistema que los usuarios ven y utilizan. En este caso, el frontend está desarrollado en .NET Framework y se puede utilizar en un navegador web o en un dispositivo móvil ya que el sistema web es responsive.
Base de Datos
Las bases de datos almacenan la información del sistema. En este caso, INFOREN utiliza tres bases de datos para los microservicios.
– SQL Server: En esta base de datos se almacenan los proyectos, historias de usuario y tareas.
– MySQL: En esta base de datos se almacenan los roles y los usuarios del sistema.
– MongoDB: En esta base de datos se modelan los proyectos y actividades de SQL Server.
Back-end
El backend es la parte del sistema que procesa la información y almacena los datos. En este caso, el backend está formado por tres microservicios:
– API Gateway: Este microservicio es responsable de recibir las solicitudes de los usuarios y redirigirlas a los microservicios correspondientes.
– Microservicio de proyectos: Este microservicio es responsable de administrar los proyectos, historias de usuario y tareas; donde se incluyen la creación, edición y eliminación de estos.
– Microservicio de Roles y Usuarios: Este microservicio es responsable de administrar las tareas, incluyendo la creación, edición, asignación y seguimiento de tareas.
– Microservicio de Informes: Este microservicio es responsable de modelar la data de las actividades por proyecto.
Al establecer nuestro diagrama de la arquitectura del sistema, también pensamos en el apartado de la infraestructura que conllevaría. En el caso de los contenedores que utilicen tecnologías de .NET Framework, estos requieren de un Sistema Operativo Windows para ejecutarse. Por otro lado, nuestro API Gateway, nuestro microservicio en Python y las bases de datos; pueden ejecutarse en un entorno Linux sin ningún problema. Para ello, nuestro sistema está usando dos entornos virtuales (o máquinas virtuales) para ejecutar los sistemas operativos (SO) correspondientes, donde cada máquina virtual emplea pocos recursos.
En cada entorno usamos Docker para aislar cada microservicio en contenedores, que son una pieza de software que permite ejecutar aplicaciones de forma aislada utilizando el sistema operativo del entorno donde se encuentren (Windows o Linux). Es con Docker con lo que construimos cada uno de los componentes de INFOREN (las bases de datos, el API Gateway, cada microservicio y el Front-end).
Una vez que contamos con las definiciones de donde se encontraría cada uno de los componentes de nuestro sistema, podemos empezar a hablar de las rutas de conexiones o las interacciones que realizarán nuestros componentes. Empezando por las consultas y respuestas que estarán sucediendo entre el Front-end y el Back-end, tengamos en cuenta que cada microservicio cuenta con una API para manejar las soliciudes recibidas. Todas estas consultas que suceden entre estas dos capas pasan por medio del API Gateway, quien gestionará las consultas y las redirigirán a la API del microservicio específico.
También utilizamos en nuestro sistema una herramienta de automatización de cargas de trabajo llamada Github Actions (explicaremos esta función más adelante), con esta herramienta podemos automatizar la construcción de los microservicios cada vez que se haga un cambio y su entrada en funcionamiento.
Como mencionamos anteriormente, utilizamos Github Actions como herramienta para las tareas de automatización de actualizaciones y puesta en marcha de nuestros microservicios. GitHub Actions es un servicio integrado en la plataforma GitHub que permite automatizar tareas en el desarrollo de software, como pruebas, construcción y despliegue, mediante la creación de flujos de trabajo definidos en archivos de configuración en el propio repositorio de código.
Nosotros ya utilizamos GitHub como repositorio de nuestros proyectos, así que el uso de esta herramienta de automatización integrada en Github era la más apropiada para estas cargas de trabajo
Para poder realizar las cargas de trabajo en el entorno de cada máquina virtual, debemos de integrar GitHub Actions con nuestro equipo. Esto se realiza desde la plataforma de GitHub, desde cada repositorio (para cada componente, definimos un repositorio).
Una vez tengamos integrado Github Actions, debemos de crear nuestro “workflow” o flujo de trabajo; que es un archivo que define que acciones va a realizar cada vez que se suba un cambio al repositorio de GitHub. En este caso la construcción de un nuevo contenedor y su ejecución o puesta en marcha. Con esto, con cada cambio que realicemos en nuestros repositorios se verá reflejado en nuestros microservicios en cuestión de minutos.
El procesamiento de datos se lleva a cabo mediante Python y sus bibliotecas especializadas en análisis de datos. Para iniciar este proceso, se extraen los datos del repositorio principal, sometiéndolos a fases de limpieza, transformación y modelado. Este procedimiento se ejecuta de manera automática y periódica, generando un historial de versiones de la base de datos mediante respaldos para salvaguardar la información ante posibles pérdidas o corrupciones.
Los datos procesados se almacenan en una base de datos no relacional, seleccionada por su idoneidad para manejar volúmenes considerables e información compleja. Desde esta base de datos, es posible extraer los datos requeridos para su interpretación mediante la creación de gráficos interactivos y paneles dinámicos en forma de Dashboard.
Dirección: Jirón Daniel Hernandez 785 – Pueblo Libre, Lima
Teléfono: +51 950 032 207
Correo: contacto@dincors.com