Frontend y visualización de resultados

De Wiki de EGC
Saltar a: navegación, buscar

Definición

Subsistemas responsables de la visualización y gestión de resultados en AGORA@US

Miembros

Gestión del trabajo

Una vez recibida la carga de trabajo, el reparto de tareas se realizará de forma equitativa, y será realizado de forma individual o bien en subgrupos, dependiendo de cuán compleja sea la tarea. Si una tarea es asignada a un miembro del grupo y éste no es capaz de realizarla, puede cambiarla si otro miembro está de acuerdo en intercambiarla por otra tarea del mismo peso. En caso de que nadie quisiera intercambiarla y la persona encargada se niegue a realizarla, será responsable de la misma y se informará al profesor de dicho altercado.


Gestión de reuniones

De forma periódica, se realizará una reunión compuesta por todos los miembros del grupo. Dicha reunión tendrá lugar los miercoles laborales a las 10:30-12:30 en la Escuela Técnica Superior de Ingeniería Informática. Si estas reuniones no son suficientes, se avisará a todos los miembros del grupo para llegar a un acuerdo sobre el día, hora y lugar de la reunión prevista. Los miembros recibirán el aviso vía e-mail, WhatsApp o Skype. En caso de no ser posible asistir a la reunión, se deberá avisar al resto de miembros de dicho suceso.


Definición del usage model

Creación de las ramas:


Se crearán ramas para experimentar sobre la integración de nuevas bibliotecas como angular que supongan un cambio en la arquitectura de la aplicación y en la forma de comunicación. Esta forma de trabajo permite la dividir las tareas que tengan que realizar los miembros del grupo.

Unión de ramas:

Se unirán las ramas cuando el grupo vea el resultado de la integración de nuevos componentes y se compruebe que los resultados eran los estimados.

Proceso habitual de trabajo:

Los miembros del grupo descargarán los cambios en el repositorio local mediante la operación "pull" desde el repositorio central https://github.com/AgoraUS1516/G10.git.

Los miembros realizarán sus cambios en los ficheros que determinen necesarios. Si se da el caso de tener que crear una rama para investigar una nueva funcionalidad o la incorporación de una nueva tecnología, se creará dicha rama previa comunicación al grupo.

Una vez hechos los cambios si se han añadido nuevos ficheros se deberá seguir la pista a los nuevos ficheros mediante "add".

Hacer "commit" para confirmación de cambios incluyendo un mensaje lo suficientemente descriptivo siguiendo las pautas que se definen en el siguiente apartado.

Antes de hacer "push" para subir los cambios al repositorio, se debe comunicar al resto miembros la acción a realizar. Debemos revisar si ha habido más commits posteriores a las modificaciones.

Se debe hacer "push" de las ramas para que se pueda ver el avance que se realizando.

Pautas a la hora de realizar commits en GIT

Tras completar las sesiones de prácticas de GIT, se han establecido una serie de pautas para homogeneizar los commits en GIT, siguiendo las guías expuestas por el profesor de prácticas:

  • En primer lugar, el título comenzará con una palabra clave en mayúsculas y en español. Esta palabra hará referencia al tipo de cambio del que se trata. Ejemplos:
    ADICIÓN: [título del commit]     
    CORRECCIÓN: [título del commit]
    APIGET: [título del commit]
    PERSISTENCIA: [título del commit]
    CONFIGURACIÓN: [título del commit]
    DESPLIEGUE: [título del commit]
  • Una vez especificado el tipo de cambio, en la parte [título del commit] se expondrá con un poco más de detalle el cambio lógico que supone dicho commit, sin superar los 80 caracteres.
  • Por último, se añadirá una descripción detallada que responda al por qué del cambio y explique en qué consiste.

Pautas a la hora de realizar las actas de las reuniones

Se seguirá el siguiente formato para realizar las actas:

  • Objetivos de la reunión
  • Lista de asistentes a la reunión
  • Desarrollo de la reunión. Se especificará la fecha y el lugar de la reunión.
  • Acuerdos alcanzados.
  • Validación de la reunión.

Trabajo realizado

  • Esqueleto del diario de grupo.
  • Planificación de reuniones.
  • Método de comunicación entre los miembros de grupo.
  • Método de trabajo.
  • Plantilla de las actas de reunión.
  • Creación de repositorio.

Trabajo por realizar

Herramientas a utilizar

  • GIT
  • ProjETSII
  • AngularJS
  • Spring/Hibernate
  • Java
  • HTML5/CSS


Diario de Grupo

El diario de Grupo se encuentra en el siguiente enlace Diario de Grupo

Actas


Subsistemas Relacionados

  • Recuento de votos
  • Modificación de Resultados
  • Creación de votación

Flujo entre subsistemas

El flujo de información entre los diferentes subsistemas heredados implicados en la visualización de los resultados es el siguiente:


Frontend-Recuento-Visualización

Si la votación que necesita Visualización está en la base de datos es devuelta, y en caso contrario se realiza la petición a la API de Recuento de Votos.

El subsistema Frontend realiza las consultas al subsistema de Recuento de Votos o al de Modificación de Resultados, dependiendo de si el subsistema de Visualización de Resultados necesita el recuento de votos original o el modificado.Básicamente realizan la comunicación con la base de datos para comprobar si pueden devolver las votaciones directamente o deben pedírselas a los subsistemas correspondientes.


Visualización-Creación-Frontend

El subsistema de visualización es el responsable de mostrar gráficas sobre los resultados de las votaciones a partir de los datos obtenidos de los otros subsistemas.

Para la obtención de datos nos conectamos con dos subsistemas, siempre como clientes. Estos subsistemas son frontend de resultados y creación de votaciones.

  • Creación de votaciones: nos transmitirán un json en el que obtendremos el nombre y el

identificador de todas las votaciones finalizadas. Con esta información creamos un menú en el cual el usuario puede elegir la votación de la cual quiere ver las gráficas.

  • Frontend de resultados: tras enviarles el identificador de la votación en la que estamos

interesados, nos transmitirán un json en el que obtendremos los resultados de las votaciones, con los cuales dibujaremos las gráficas.


Nota: Información extraida de la documentación de los subsistemas anteriores.