Frontend y visualización de resultados

De Wiki de EGC
Revisión del 13:38 8 ene 2016 de Danmarrod (discusión | contribuciones) (Gestión de la construcción)
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

La organización de las diferentes tareas de trabajo se realizará de forma iterativa estableciendo como hitos las diferentes fechas de integración de los subsistemas. De esta forma se organizará el trabajo a realizar cada 2 semanas dependiendo de la evolución del proyecto y siempre teniendo como finalidad la integración del sistema. A grandes rasgos se podría definir los siguientes pasos:

  • 1. Integración del sistema heredado (puesta en funcionamiento).
  • 2. Evolución del sistema heredado.
  • 3. Integración con el resto de subsistemas.

Gestión de reuniones

De forma periódica, se realizará una reunión convocada para todos los miembros del grupo. Dicha reunión tendrá lugar los miércoles 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 Slack o Whatsapp. 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 y gestión del codigo

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 crear una incidencia en GIT

Para reportar una incidencia deberá realizarse desde GitHub y el procedimiento a seguir es el siguiente:

  • El título debe seguir el siguiente formato
    • 1.Si es para reportar algún error en general: ERROR + breve descripción del problema
    • 2.Si es para solicitar algún tipo de información: INFO + breve descripción del tema de la solicitud
  • Indique los pasos para reproducir el problema.
  • Indique cual sería el resultado correcto y que recibe en su lugar.
  • Indique la versión del software utilizado de desarrollo y el sistema operativo.

Si dispone información adicional que pueda ser de ayuda puede indicarlo en la parte inferior.

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.

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.