Almacenamiento de votos - 17 18 - G2
Contenido
Miembros
- Elena Camero Ruiz
- Marta Carmona Oliva
- José Luis Martínez Quiñones
- Pedro Serrano Ramos
- Jesús Vázquez Argumedo (Coordinador)
Consideraciones
- Debe comunicarse con otros submódulos para obtener los votos y guardarlos.
- Debe comunicarse con otros submódulos para entregar los votos.
- Repositorio donde puede encontrarse el código: https://github.com/AgoraUS-G1-1617/Almacenamiento
- Wiki de la asignatura referente al submódulo: http://1984.lsi.us.es/wiki-egc/index.php/Almacenamiento_1617_G1
Objetivo del subsistema
Su objetivo principal es el almacenamiento de los votos cifrados para garantizar su seguridad.
Enlaces
Enlaces de interés para acceder a toda la información sobre nuestro módulo:
Subsistemas relacionados
- Recuento.
- Cabinas de votación.
- Autenticación.
Gestión de la comunicación
La comunicación se realizará a través de un grupo de Telegram conformado por todos los miembros del equipo. Las reuniones no presenciales se realizarán telemáticamente mediante Skype.
Gestión del trabajo
La gestión del trabajo y la asignación de tareas se llevará a cabo a través de Trello. Se crearán 4 tableros:
* Tareas pendientes: en este tablero se añadirán las tareas que vayan surgiendo y que no estén asignadas ni realizadas aún. * Tareas en proceso: en este tablero estarán las tareas asignadas que estan en proceso de ejecución. * Tareas en revisión: en este tablero estarán las tareas acabadas para que sean revisadas antes de darlas por finalizadas. * Tareas realizadas: en este tablero estarán las tareas ya completadas.
Gestión del código
La gestión del código se realizará a través de GitHub.
Tendremos una rama master que será la que almacene las versiones estables y una rama dev en la que se desarrollará, y cuando el proyecto este listo para desplegar, se realizara un merge desde la rama dev a la rama master.
Gestión de incidencias
Usaremos la herramienta que nos ofrece Github para el control de las incidencias.
Herramientas
Tecnologías elegidas
Subsistema: Almacenamiento de votos Lenguaje/Herramienta: Python 2.7; IDE: Pycharm Sistema de gestión de bibliotecas: pip Bibliotecas: SQLite Nombre_Biblioteca1: <version> Necesita Base de datos: Sí (mysql)
Formato general para detallar incidencias
Las incidencias pueden emplearse no solo para fallos.
Título: <breve título sobre la incidencia> Descripción: <descripción detallada del error> La descripción puede incluir imagenes o la salida emitida por el fallo. Etiquetas: <etiquetas de GitHub para clasificar las incidencias> enhancement: propuesta de mejora bug: fallos encontrados en el sistema help wanted: incidencia que puede ser resuelta por un miembro del equipo pero que ha sido atendida previamente por otro question: (a usar solo entre miembros del equipo) dudas sobre un commit en concreto, hay que referenciar el commit en cuestión
Las incidencias pueden incluirse en Proyectos de GitHub.
Modelo de datos
Los datos que se van a almacenar en nuestra base de datos son: la identificación del usuario que realiza el voto, la identificación de la pregunta a la que está respondiendo y el voto correspondiente.
API
Seguirán el formato url/api/nombre_metodo
Ejemplos de métodos:
url/api/comprobar_voto
- Tipo de llamada: GET
- Parámetros necesarios: token del usuario
- Respuestas: True/False (dependiendo si el usuario ha votado o no)
url/api/pedir_voto
- Tipo de llamada: GET
- Parámetros necesarios: ID del usuario, ID de la pregunta, voto
- Respuestas: Código de estado
url/api/obtener_todo
- Tipo de llamada: GET
- Parámetros necesarios: Token de identficación
- Respuestas: Lista de todos los votos almacenados en el sistema