<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://1984.lsi.us.es/wiki-egc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marcaroli1</id>
		<title>Wiki de EGC - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://1984.lsi.us.es/wiki-egc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marcaroli1"/>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php/Especial:Contribuciones/Marcaroli1"/>
		<updated>2026-05-23T00:23:33Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Almacenamiento_de_votos_-_17_18_-_G2&amp;diff=6645</id>
		<title>Almacenamiento de votos - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Almacenamiento_de_votos_-_17_18_-_G2&amp;diff=6645"/>
				<updated>2017-11-30T11:08:24Z</updated>
		
		<summary type="html">&lt;p&gt;Marcaroli1: /* Enlaces */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Elena Camero Ruiz&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Marta Carmona Oliva&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;José Luis Martínez Quiñones&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pedro Serrano Ramos&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Jesús Vázquez Argumedo &amp;lt;b&amp;gt;(Coordinador)&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Consideraciones =&lt;br /&gt;
&lt;br /&gt;
*Debe comunicarse con otros submódulos para obtener los votos y guardarlos.&lt;br /&gt;
*Debe comunicarse con otros submódulos para entregar los votos.&lt;br /&gt;
*Repositorio donde puede encontrarse el código: https://github.com/AgoraUS-G1-1617/Almacenamiento&lt;br /&gt;
*Wiki de la asignatura referente al submódulo: http://1984.lsi.us.es/wiki-egc/index.php/Almacenamiento_1617_G1&lt;br /&gt;
&lt;br /&gt;
= Objetivo del subsistema =&lt;br /&gt;
Su objetivo principal es el almacenamiento de los votos cifrados para garantizar su seguridad.&lt;br /&gt;
&lt;br /&gt;
= Enlaces =&lt;br /&gt;
&lt;br /&gt;
Enlaces de interés para acceder a toda la información sobre nuestro módulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;El repositorio de GitHub del equipo será accesible [https://github.com/jesvazarg/EGC-Almacenamiento-G2 aquí]&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Puede acceder a nuestro proyecto en Opera [http://opera.eii.us.es/egc/public/trabajo/ver/id/94 aquí]&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Subsistemas relacionados =&lt;br /&gt;
&lt;br /&gt;
* Recuento.&lt;br /&gt;
* Cabinas de votación.&lt;br /&gt;
* Autenticación.&lt;br /&gt;
&lt;br /&gt;
= Gestión de la comunicación =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Gestión del trabajo =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
   * Tareas pendientes: en este tablero se añadirán las tareas que vayan surgiendo y que no estén asignadas ni realizadas aún.&lt;br /&gt;
   * Tareas en proceso: en este tablero estarán las tareas asignadas que estan en proceso de ejecución.&lt;br /&gt;
   * Tareas en revisión: en este tablero estarán las tareas acabadas para que sean revisadas antes de darlas por finalizadas.&lt;br /&gt;
   * Tareas realizadas: en este tablero estarán las tareas ya completadas.&lt;br /&gt;
&lt;br /&gt;
= Gestión del código =&lt;br /&gt;
&lt;br /&gt;
La gestión del código se realizará a través de GitHub.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Gestión de incidencias =&lt;br /&gt;
&lt;br /&gt;
Usaremos la herramienta que nos ofrece Github para el control de las incidencias.&lt;br /&gt;
&lt;br /&gt;
= Herramientas =&lt;br /&gt;
&lt;br /&gt;
== Tecnologías elegidas ==&lt;br /&gt;
 '''Subsistema''': Almacenamiento de votos&lt;br /&gt;
 '''Lenguaje/Herramienta''': Python 2.7; IDE: Pycharm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': pip&lt;br /&gt;
 '''Bibliotecas''': SQLite&lt;br /&gt;
    '''Nombre_Biblioteca1''': &amp;lt;version&amp;gt;&lt;br /&gt;
 '''Necesita Base de datos''': Sí (mysql)&lt;br /&gt;
&lt;br /&gt;
== Formato general para detallar incidencias ==&lt;br /&gt;
Las incidencias pueden emplearse no solo para fallos.&lt;br /&gt;
 '''Título''': &amp;lt;breve título sobre la incidencia&amp;gt;&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada del error&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por el fallo.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    enhancement: propuesta de mejora&lt;br /&gt;
    bug: fallos encontrados en el sistema&lt;br /&gt;
    help wanted: incidencia que puede ser resuelta por un miembro del equipo pero que ha sido atendida previamente por otro&lt;br /&gt;
    question: (a usar solo entre miembros del equipo) dudas sobre un commit en concreto, hay que referenciar el commit en cuestión&lt;br /&gt;
&lt;br /&gt;
Las incidencias pueden incluirse en Proyectos de GitHub.&lt;br /&gt;
&lt;br /&gt;
= Modelo de datos =&lt;br /&gt;
&lt;br /&gt;
Los datos que se van a almacenar en nuestra base de datos son:&lt;br /&gt;
&lt;br /&gt;
        - id: (int) identificador del voto [pk, autoincrementable]&lt;br /&gt;
        - id_usuario: (int) identificador del usuario que realiza el voto [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta a la que está respondiendo [fk, not null]&lt;br /&gt;
        - id_respuesta: (int) identificador de la respuesta [fk]&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, un usuario tendrá un voto para cada pregunta, pudiendo registrarse un voto con respuesta a null en el caso del voto en blanco.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
&lt;br /&gt;
Las especificaciones de la API podrían variar posteriormente, ya que es posible que alguno los grupos de los que depende este módulo hicieran modificaciones en su modelo de datos a lo largo del desarrollo, lo cuál afectaría al formato de nuestra  API.&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
&lt;br /&gt;
Este módulo tiene dependencias con los siguientes subsistemas:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Autenticación&amp;lt;/b&amp;gt;: Necesitaremos obtener los datos de autenticación para que un usuario pueda verificar si su voto se registró correctamente,&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Cabinas de votación&amp;lt;/b&amp;gt;: Necesitaremos recibir información de todas las cabinas de votaciones para poder almacenar los votos en nuestra base de datos.  &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;b&amp;gt;Recuento&amp;lt;/b&amp;gt;: El módulo de recuento necesitará obtener todos los votos almacenados en nuestra base de datos para proceder a contabilizarlos.&lt;br /&gt;
&lt;br /&gt;
== Comprobar voto ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/comprobar_voto.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id_usuario: Identificador del usuario&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/comprobar_voto.json?id_usuario=1&lt;br /&gt;
&lt;br /&gt;
'''Respuesta:'''&lt;br /&gt;
    {&lt;br /&gt;
       &amp;quot;voto&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
           &amp;quot;id_usuario&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
           &amp;quot;id_pregunta&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
           &amp;quot;id_respuesta&amp;quot;: &amp;quot;...&amp;quot;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== Pedir voto ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/post/pedir_voto.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id_usuario: Identificador del usuario (y)&lt;br /&gt;
    * id_pregunta: Identificador de la pregunta (z)&lt;br /&gt;
    * id: Identificador del voto (x)&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/pedir_voto.json?id=x&amp;amp;id_usuario=y&amp;amp;id_pregunta=z&lt;br /&gt;
&lt;br /&gt;
'''Respuesta:'''&lt;br /&gt;
    {&lt;br /&gt;
       &amp;quot;voto&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;x&amp;quot;,&lt;br /&gt;
           &amp;quot;id_usuario&amp;quot;: &amp;quot;y&amp;quot;,&lt;br /&gt;
           &amp;quot;id_pregunta&amp;quot;: &amp;quot;z&amp;quot;,&lt;br /&gt;
           &amp;quot;id_respuesta&amp;quot;: &amp;quot;...&amp;quot;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== Obtener todo ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con los parámetros siguientes y se devolverá un boolean.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/obtener_todo.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    *bd_id: Token para verificar que el usuario que realiza la petición tiene permiso de acceso a nuestra base de datos (x)&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/obtener_todo?bd_id=x&lt;br /&gt;
&lt;br /&gt;
'''Respuesta:'''&lt;br /&gt;
    {&lt;br /&gt;
       &amp;quot;voto1&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
           &amp;quot;id_usuario&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
           &amp;quot;id_pregunta&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
           &amp;quot;id_respuesta&amp;quot;: &amp;quot;...&amp;quot;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       &amp;quot;voto2&amp;quot;: {&lt;br /&gt;
           &amp;quot;id&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
           &amp;quot;id_usuario&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
           &amp;quot;id_pregunta&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
           &amp;quot;id_respuesta&amp;quot;: &amp;quot;...&amp;quot;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;/div&gt;</summary>
		<author><name>Marcaroli1</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Almacenamiento_de_votos_-_17_18_-_G2&amp;diff=6522</id>
		<title>Almacenamiento de votos - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Almacenamiento_de_votos_-_17_18_-_G2&amp;diff=6522"/>
				<updated>2017-11-26T16:33:02Z</updated>
		
		<summary type="html">&lt;p&gt;Marcaroli1: /* Modelo de datos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Elena Camero Ruiz&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Marta Carmona Oliva&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;José Luis Martínez Quiñones&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pedro Serrano Ramos&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Jesús Vázquez Argumedo &amp;lt;b&amp;gt;(Coordinador)&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Consideraciones =&lt;br /&gt;
&lt;br /&gt;
*Debe comunicarse con otros submódulos para obtener los votos y guardarlos.&lt;br /&gt;
*Debe comunicarse con otros submódulos para entregar los votos.&lt;br /&gt;
*Repositorio donde puede encontrarse el código: https://github.com/AgoraUS-G1-1617/Almacenamiento&lt;br /&gt;
*Wiki de la asignatura referente al submódulo: http://1984.lsi.us.es/wiki-egc/index.php/Almacenamiento_1617_G1&lt;br /&gt;
&lt;br /&gt;
= Objetivo del subsistema =&lt;br /&gt;
Su objetivo principal es el almacenamiento de los votos cifrados para garantizar su seguridad.&lt;br /&gt;
&lt;br /&gt;
= Enlaces =&lt;br /&gt;
&lt;br /&gt;
Enlaces de interés para acceder a toda la información sobre nuestro módulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;El repositorio de GitHub del equipo será accesible [https://github.com/EGC-G2-Trabajo-1718/almacenamiento aquí]&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Puede acceder a nuestro proyecto en Opera [http://opera.eii.us.es/egc/public/trabajo/ver/id/94 aquí]&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Subsistemas relacionados =&lt;br /&gt;
&lt;br /&gt;
* Recuento.&lt;br /&gt;
* Cabinas de votación.&lt;br /&gt;
* Autenticación.&lt;br /&gt;
&lt;br /&gt;
= Gestión de la comunicación =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Gestión del trabajo =&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
   * Tareas pendientes: en este tablero se añadirán las tareas que vayan surgiendo y que no estén asignadas ni realizadas aún.&lt;br /&gt;
   * Tareas en proceso: en este tablero estarán las tareas asignadas que estan en proceso de ejecución.&lt;br /&gt;
   * Tareas en revisión: en este tablero estarán las tareas acabadas para que sean revisadas antes de darlas por finalizadas.&lt;br /&gt;
   * Tareas realizadas: en este tablero estarán las tareas ya completadas.&lt;br /&gt;
&lt;br /&gt;
= Gestión del código =&lt;br /&gt;
&lt;br /&gt;
La gestión del código se realizará a través de GitHub.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Gestión de incidencias =&lt;br /&gt;
&lt;br /&gt;
Usaremos la herramienta que nos ofrece Github para el control de las incidencias.&lt;br /&gt;
&lt;br /&gt;
= Herramientas =&lt;br /&gt;
&lt;br /&gt;
== Tecnologías elegidas ==&lt;br /&gt;
 '''Subsistema''': Almacenamiento de votos&lt;br /&gt;
 '''Lenguaje/Herramienta''': Python 2.7; IDE: Pycharm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': pip&lt;br /&gt;
 '''Bibliotecas''': SQLite&lt;br /&gt;
    '''Nombre_Biblioteca1''': &amp;lt;version&amp;gt;&lt;br /&gt;
 '''Necesita Base de datos''': Sí (mysql)&lt;br /&gt;
&lt;br /&gt;
== Formato general para detallar incidencias ==&lt;br /&gt;
Las incidencias pueden emplearse no solo para fallos.&lt;br /&gt;
 '''Título''': &amp;lt;breve título sobre la incidencia&amp;gt;&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada del error&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por el fallo.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    enhancement: propuesta de mejora&lt;br /&gt;
    bug: fallos encontrados en el sistema&lt;br /&gt;
    help wanted: incidencia que puede ser resuelta por un miembro del equipo pero que ha sido atendida previamente por otro&lt;br /&gt;
    question: (a usar solo entre miembros del equipo) dudas sobre un commit en concreto, hay que referenciar el commit en cuestión&lt;br /&gt;
&lt;br /&gt;
Las incidencias pueden incluirse en Proyectos de GitHub.&lt;br /&gt;
&lt;br /&gt;
= Modelo de datos =&lt;br /&gt;
&lt;br /&gt;
Los datos que se van a almacenar en nuestra base de datos son:&lt;br /&gt;
&lt;br /&gt;
        - id: (int) identificador del voto [pk, autoincrementable]&lt;br /&gt;
        - id_usuario: (int) identificador del usuario que realiza el voto [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta a la que está respondiendo [fk, not null]&lt;br /&gt;
        - id_respuesta: (int) identificador de la respuesta [fk]&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, un usuario tendrá un voto para cada pregunta, pudiendo registrarse un voto con respuesta a null en el caso del voto en blanco.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
&lt;br /&gt;
Seguirán el formato '''url/api/nombre_metodo'''.&lt;br /&gt;
&lt;br /&gt;
Ejemplos de métodos:&lt;br /&gt;
&lt;br /&gt;
'''url/api/comprobar_voto'''&lt;br /&gt;
&lt;br /&gt;
*Tipo de llamada: GET&lt;br /&gt;
&lt;br /&gt;
*Parámetros necesarios: token del usuario&lt;br /&gt;
&lt;br /&gt;
*Respuestas: True/False (dependiendo si el usuario ha votado o no)&lt;br /&gt;
&lt;br /&gt;
'''url/api/pedir_voto'''&lt;br /&gt;
&lt;br /&gt;
*Tipo de llamada: POST&lt;br /&gt;
&lt;br /&gt;
*Parámetros necesarios: ID del usuario, ID de la pregunta, voto&lt;br /&gt;
&lt;br /&gt;
*Respuestas: Código de estado&lt;br /&gt;
&lt;br /&gt;
'''url/api/obtener_todo'''&lt;br /&gt;
&lt;br /&gt;
*Tipo de llamada: GET&lt;br /&gt;
&lt;br /&gt;
*Parámetros necesarios: Token de identficación&lt;br /&gt;
&lt;br /&gt;
*Respuestas: Lista de todos los votos almacenados en el sistema&lt;/div&gt;</summary>
		<author><name>Marcaroli1</name></author>	</entry>

	</feed>