Agora Voting - Mejora de la accesibilidad

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

Descripción del proyecto

Actualmente, Agora voting no cuenta con una interfaz adaptada para personas con discapacidad. El objetivo del proyecto es mejorar la accesibilidad para que cualquier persona, independientemente de su condición física, sea capaz de navegar por la web sin ningún tipo de contratiempo. Para ello, nuestro equipo seguirá las directrices dadas por la guía ARIA. Los principales puntos que se abordarán, serán los siguientes:

  • Adaptación de la interfaz para personas con daltonismo.
  • Añadir los atributos necesario para el correcto funcionamiento de los lectores de pantallas.
  • Ajuste del tamaño de las letras y botones para personas con visibilidad reducida.

Todas estas modificaciones se aplicaran sobre los siguientes módulos de la aplicación:

  • Cabina de votaciones.
  • Parte de autentificación y registro.
  • Vista de los resultados

Para visitar la documentación completa del proyecto visite esta pagina

Se facilita a continuación el enlace a nuestro portal web aquí

Miembros y roles del equipo

Los miembros del equipo de trabajo son:

Organización y gestión

Gestión de equipo

El equipo hará uso de diferentes herramientas para la realización de una buena gestión.Podemos dividir estas herramientas en dos tipos, unas con objetivo comunicativos y otras con objetivo organizativos.

Respecto a las herramientas de comunicación tenemos:

  • Whatsapp: Usada principalmente para preguntas cortas y asegurar reuniones.
  • HangOuts: Cuando una reunión no es posible realizarla presencialmente o simplemente algunos miembros quieren discutir alguna cuestión

Respecto a las herramientas de gestión:

  • Google Drive: Usada para compartir diferentes archivos o crear archivos online.
  • SVN: Usada para la gestión de las distintas versiones del código.


Las herramientas de gestión usadas para las tareas se explicaran en el apartado de Gestión de tareas

Primeros pasos

Antes de comenzar a desplegar la aplicación son necesarios unos pequeños pasos previos que se deben realizar.

  • Desacargar VMware Workstation Player
  • Crear una maquina virtual con las siguientes caracterisitcas:
    • SO Ubuntu 16.04
    • Memoria RAM de 5500mb
    • Disco duro 50gb
  • Dentro de la maquina instalar los siguientes programas:
    • Git 2.7.4
    • Vagrant 1.9.0
    • VirtualBox Manager 5.0.24
    • Ansible 2.1.3.0

Una vez hemos completado estos pasos podremos seguir la guía de despliegue de Agora Voting

Gestión del código

Para la gestión del código se usará la herramienta Git, usando el repositorio remoto en GitHub. A continuación se detalla las directrices que se tendrán que seguir para el uso de dicha herramienta.

El repositorio constará principalmente de dos ramas, Master y Develop. En la primera rama se encontrará el código probado y listo para usar. Por otro lado, en la segunda rama se usará para desarrollar nuevas funcionalidades y corregir fallos.

Todos los desarrolladores trabajaran sobre la rama Develop, intentando no solaparse con el resto de compañeros. En caso de solapamiento, los miembros se pondrán de acuerdo para evitar el conflicto, eligiendo por consiguiente a uno de ellos como responsable para la resolución del conflicto.

Cada vez que se complete una tarea, se deberá realizar un commit detallado. Este sera revisado por otro miembro del equipo.

Cuando se cumpla un hito especifico, se testeará la aplicacion completa. El encargado (David Arroyo), tras comprobar que todo funciona correctamente, hará un merge a la rama Master.


El repositorio remoto del proyecto se puede encontrar aqui

Gestión de tareas

La gestión de las tareas es una de las partes mas importantes de un proyecto. Nosotros como equipo hemos usado dos herramientas:

  • Trello, tenemos un tablero que sigue la metodología kanban y que se compone de las siguientes listas:
    • To do: Lista de tareas que tenemos que hacer
    • Doing: Lista de tareas que se estan realizando
    • Complete: Lista de tareas completadas
    • Reviewing: Tareas que por algún motivo se tienen que revisar para comprobar que todo este correcto.

Tanto las revisiones, los retrasos o si una tarea esta mal o bien se comunicara en comentarios dentro de las tarjetas o con pegatinas. Se facilita el acceso a nuestro tablero

Gestión del incidencias

Estas se gestionarán a través de un puggling que añadiremos a nuestro IDE, este puggling es WebStorm

El proceso para la gestión sera el siguiente:

  • El miembro que tenga la incidencia la tendrá que crear en el enlace anterior.
  • El encargado de las issues (Antonio Espniosa) tiene que comprobar que no faltan detalles, como las versiones de los programas o los diferentes requisitos y que tenga la label correcta asignada.
  • En caso de que el encargado encuentre un fallo en la issue se lo comunicara al propietario de esta para que la modifique.
  • Una vez solucionada la issue esta se cerrará satisfactoriamente.


Las issues en GitHub se pueden encontrar aqui

Imputación de tiempo

Implicación del equipo

En la siguiente tabla se muestra el grado de implicación de cada miembro del equipo junto con el total de horas imputadas por dicho miembro. El rango de implicación oscila entre 0 y 10, siendo 10 una implicación total con el desarrollo del proyecto; y 0 una nula implicación.

Miembro del grupo Implicación Horas imputadas
David Arroyo Escobar 10 126.3
Armando Conejero Calvo de León 10 80.4
Antonio Espinosa Velasco 10 99.4
Antonio Ángel Muñoz Jiménez 10 101.1
Pablo Palma Ruiz 10 82

Gráfico de horas imputadas por cada miembro

En la siguiente gráfica se muestra la dedicación individual de los miembros del grupo hasta el final del proyecto


Imagen de ejemplo.

Tabla de tiempo resumida

Tabla ordenable
Tarea Horas Comentarios
Despliegue del sistema 270 Desplegar el sistema partiendo desde 0, que incluye instalar las máquinas, configurarlas para adaptarlas al proyecto de AgoraVoting y ver el sistemas funcionando para pasar a la implementación de las mejoras y de las pruebas.
Mejora de la accesibilidad 135.7 Mejorar la interfaz permitiendo que personas con discapacidad visual puedan tener un acceso más fácil al sistema de voto
Integración con Jenkins 39.9 Puesta en marcha de la integración continua en nuestro proyecto mediante Jenkins para comprobar que las actualizaciones en el código fuente no generen retrasos
Pruebas con Protractor 29.6 Realización de pruebas sobre la vista de acceso a usuario y el footer de la aplicación.
Reuniones 14 Reuniones grupales presenciales y no presenciales.

Reuniones

Se realizará una reunión obligatoriamente cada vez que haya un hito del proyecto, independientemente se pueden convocar reuniones adicionales si la situación lo requiere.

Acta de Reuniones