<?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=Jesmarale</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=Jesmarale"/>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php/Especial:Contribuciones/Jesmarale"/>
		<updated>2026-05-21T21:48:05Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7083</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7083"/>
				<updated>2017-12-17T17:41:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Eliminación de una respuesta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.esapi/post/preguntaCreate?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
&lt;br /&gt;
	* id: identificador de la pregunta a editar&lt;br /&gt;
	* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/preguntaDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/preguntaDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/respuestaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar (Inicialmente estará a false y al crearse no podrá editarse)&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/respuestaCreate?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;false&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/respuestaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/respuestaEdit.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/respuesta.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7079</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7079"/>
				<updated>2017-12-17T11:58:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Edición de una respuesta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.esapi/post/preguntaCreate?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
&lt;br /&gt;
	* id: identificador de la pregunta a editar&lt;br /&gt;
	* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/preguntaDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/preguntaDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/respuestaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar (Inicialmente estará a false y al crearse no podrá editarse)&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/respuestaCreate?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;false&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/respuestaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/respuestaEdit.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7078</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7078"/>
				<updated>2017-12-17T11:57:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Obtención de todas las respuestas de una pregunta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.esapi/post/preguntaCreate?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
&lt;br /&gt;
	* id: identificador de la pregunta a editar&lt;br /&gt;
	* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/preguntaDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/preguntaDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/respuestaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar (Inicialmente estará a false y al crearse no podrá editarse)&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/respuestaCreate?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;false&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7077</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7077"/>
				<updated>2017-12-17T11:25:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una respuesta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.esapi/post/preguntaCreate?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
&lt;br /&gt;
	* id: identificador de la pregunta a editar&lt;br /&gt;
	* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/preguntaDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/preguntaDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/respuestaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar (Inicialmente estará a false y al crearse no podrá editarse)&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/respuestaCreate?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;false&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7076</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7076"/>
				<updated>2017-12-17T11:24:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una respuesta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.esapi/post/preguntaCreate?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
&lt;br /&gt;
	* id: identificador de la pregunta a editar&lt;br /&gt;
	* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/preguntaDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/preguntaDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar (Inicialmente estará a false y al crearse no podrá editarse)&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;false&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7075</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7075"/>
				<updated>2017-12-17T11:17:50Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una pregunta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaCreate&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.esapi/post/preguntaCreate?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
&lt;br /&gt;
	* id: identificador de la pregunta a editar&lt;br /&gt;
	* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/preguntaDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/preguntaDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7074</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7074"/>
				<updated>2017-12-17T11:17:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Eliminación de una pregunta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
&lt;br /&gt;
	* id: identificador de la pregunta a editar&lt;br /&gt;
	* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/preguntaDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/preguntaDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7073</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7073"/>
				<updated>2017-12-17T10:57:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Edición de una pregunta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
&lt;br /&gt;
	* id: identificador de la pregunta a editar&lt;br /&gt;
	* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7072</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7072"/>
				<updated>2017-12-17T10:56:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Edición de una pregunta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
	     * id: identificador de la pregunta a editar&lt;br /&gt;
	     * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7071</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7071"/>
				<updated>2017-12-17T10:56:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Edición de una pregunta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/preguntaEdit.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
	* id: identificador de la pregunta a editar&lt;br /&gt;
	* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
        * respuestas: parametro para identificar las respuestas asociadas (Por id, ejemplo: [1,2])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;respuestas&amp;quot;: &amp;quot;[1,2]&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7065</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7065"/>
				<updated>2017-12-16T17:02:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Edición de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7064</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7064"/>
				<updated>2017-12-16T17:01:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17 10:30&amp;amp;fecha_fin=11/10/17 10:30&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7061</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7061"/>
				<updated>2017-12-16T16:47:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;clave&amp;quot;: &amp;quot;clave&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7029</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7029"/>
				<updated>2017-12-14T22:02:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Obtención de todas las preguntas de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[1,9]&amp;quot;&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7028</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7028"/>
				<updated>2017-12-14T22:00:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Obtención de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
      &amp;quot;id_preguntas&amp;quot;: &amp;quot;[2,3]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7027</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7027"/>
				<updated>2017-12-14T21:59:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Obtención de una pregunta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
      &amp;quot;id_respuestas&amp;quot;:&amp;quot;[2,5]&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7026</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7026"/>
				<updated>2017-12-14T20:52:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Eliminación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/votacionDelete.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/post/votacionDelete.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
Esta sería la plantilla para el formulario que permitiría crear una votación.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7017</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7017"/>
				<updated>2017-12-13T22:06:50Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Edición de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/editVotacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/editVotacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7016</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7016"/>
				<updated>2017-12-13T21:53:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate.json?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7015</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7015"/>
				<updated>2017-12-13T21:49:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/post/votacionCreate&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7011</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=7011"/>
				<updated>2017-12-13T21:40:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
        * clave: clave para asignar a la votación&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6990</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6990"/>
				<updated>2017-12-12T20:14:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
Es probable que otros subsistemas necesiten funciones API que no ofrezcamos, por lo que crearemos los métodos necesarios que puedan ir surgiendo durante el proyecto.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/votacionCreate?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
En este apartado se mostrarán los templates de las distintas vistas que nuestro subsistema requiere&lt;br /&gt;
==Template Creación==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;html lang=&amp;quot;es&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;head&amp;gt;&lt;br /&gt;
         &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;title&amp;gt;Administracion de votaciones&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;/head&amp;gt;&lt;br /&gt;
     &amp;lt;body&amp;gt;&lt;br /&gt;
         &amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;titulo&amp;quot;&amp;gt;Name:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;titulo&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;br /&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;censo&amp;quot;&amp;gt;Censo:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;censo&amp;quot; name=&amp;quot;id_censo&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione un grupo&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c1&amp;quot;&amp;gt;Censo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c2&amp;quot;&amp;gt;Censo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c3&amp;quot;&amp;gt;Censo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_c4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
         &amp;lt;div&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;votacion&amp;quot;&amp;gt; Votación:&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;select id=&amp;quot;votacion&amp;quot; name=&amp;quot;id_votacion&amp;quot; required&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Seleccione una votación&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v1&amp;quot;&amp;gt;Votación tipo A&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v2&amp;quot;&amp;gt;Votación tipo B&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v3&amp;quot;&amp;gt;Votación tipo C&amp;lt;/option&amp;gt;&lt;br /&gt;
                 &amp;lt;option value=&amp;quot;id_v4&amp;quot;&amp;gt;...&amp;lt;/option&amp;gt;&lt;br /&gt;
             &amp;lt;/select&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt; &lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta1&amp;quot;&amp;gt;Pregunta 1: ¿ Asistió a las jornadas de EGC ?&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;si&amp;quot; checked&amp;gt; Sí&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta1&amp;quot; value=&amp;quot;no&amp;quot; checked&amp;gt; No&amp;lt;br&amp;gt;&lt;br /&gt;
         {% if respuesta1.value==&amp;quot;si&amp;quot; %}&lt;br /&gt;
         &amp;lt;label for=&amp;quot;pregunta2&amp;quot;&amp;gt;Pregunta 2: Califique la organización de estas&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;excelente&amp;quot; checked&amp;gt; excelente&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;muy buena&amp;quot; checked&amp;gt; muy buena&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;respuesta2&amp;quot; value=&amp;quot;buenisima&amp;quot; checked&amp;gt; buenisima&amp;lt;br&amp;gt;&lt;br /&gt;
             &amp;lt;input name=&amp;quot;&amp;quot; type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gestión de grupo =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types:  &lt;br /&gt;
&lt;br /&gt;
 add: Una nueva caracteristica.&lt;br /&gt;
 fix: Se soluciono un bug.&lt;br /&gt;
 docs: Se realizaron cambios en la documentacion.&lt;br /&gt;
 style: Se aplico formato, comas y puntos faltantes, etc; Sin cambios en el codigo.&lt;br /&gt;
 refactor: Refactorizacion del codigo en produccion.&lt;br /&gt;
 test: Se añadieron pruebas, refactorizacion de pruebas; Sin cambios en el codigo.&lt;br /&gt;
 chore: Actualizacion de tareas de build, configuracion del admin. de paquetes; Sin cambios en el codigo.&lt;br /&gt;
    &lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Las funcionalidades pueden ser genéricas o específicas.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6802</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6802"/>
				<updated>2017-12-06T17:33:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Obtención de una respuesta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las respuestas de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la preguntay se devolverá un JSON con un array de respuestas.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/respuestas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/preguntas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
&lt;br /&gt;
EN CONTRUCCIÓN&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types: add(función añadida) y fix (error subsanado).&lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Si fuera necesario se crearán nuevas funcionalidades.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6801</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6801"/>
				<updated>2017-12-06T17:31:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Obtención de todas las preguntas de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
    http://egc-votacion1718.es/api/get/preguntas.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votacion.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuestas.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
&lt;br /&gt;
    [{   &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
&lt;br /&gt;
EN CONTRUCCIÓN&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types: add(función añadida) y fix (error subsanado).&lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Si fuera necesario se crearán nuevas funcionalidades.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6799</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6799"/>
				<updated>2017-12-06T17:24:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Obtención de todas las preguntas de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Obtención de todas las preguntas de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
[{&lt;br /&gt;
     &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
&lt;br /&gt;
EN CONTRUCCIÓN&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types: add(función añadida) y fix (error subsanado).&lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Si fuera necesario se crearán nuevas funcionalidades.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6798</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6798"/>
				<updated>2017-12-06T17:23:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Obtención de una pregunta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí, se usará MySQL Workbench. Habrá 3 tablas (Votación, Pregunta  Respuesta).&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Votación ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Votación&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una votación ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Pregunta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Pregunta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una pregunta ===&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Obtención de todas las preguntas de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET con la id de la votación y se devolverá un JSON con un array de votaciones.&lt;br /&gt;
&lt;br /&gt;
[{&lt;br /&gt;
     &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    },&lt;br /&gt;
   {&lt;br /&gt;
      &lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;8&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Que consola prefieres?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abierta&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
    }]&lt;br /&gt;
&lt;br /&gt;
=== Creación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una pregunta===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una pregunta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Respuesta ==&lt;br /&gt;
Definimos las API que dependerán del objeto &amp;quot;Respuesta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una respuesta ===&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Creación de una respuesta ===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;Consola&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Edición de una respuesta===&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
=== Eliminación de una respuesta ===&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
&lt;br /&gt;
EN CONTRUCCIÓN&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types: add(función añadida) y fix (error subsanado).&lt;br /&gt;
Ejemplos  de funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Si fuera necesario se crearán nuevas funcionalidades.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&lt;br /&gt;
 '''Etiquetas''': &amp;lt;etiquetas de GitHub para clasificar las incidencias&amp;gt;&lt;br /&gt;
    ''requirement'': para el cumplimiento de requisitos de nuestro subsistema.&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;
    ''wontfix'': incidencias que no serán resueltas por el momento.&lt;br /&gt;
&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6785</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6785"/>
				<updated>2017-12-06T15:33:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Estructura de datos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
        - clave: (String) clave que se usará para cifrar los votos [not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Obtención de una pregunta ==&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una pregunta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una pregunta==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
== Eliminación de una pregunta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Obtención de una respuesta ==&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una respuesta ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una respuesta==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
== Eliminación de una respuesta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Template=&lt;br /&gt;
El template de jinja2 de nuestro subsistema es la siguiente&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
Cada semana todos los miembros se reunirán para hablar del estado actual, los problemas encontrados y los siguientes pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formato de commits===&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Diferenciaremos dos tipos básicos(types). Luego un breve título que resuma la funcionalidad de dicho commit. En la descripción añadiremos a que funcionalidad pertenece y una descripción. Al final del commit podemos añadir a que incidencia pertenece, si procede.&lt;br /&gt;
&lt;br /&gt;
Types: add(función añadida) y fix (error subsanado).&lt;br /&gt;
Funcionalidades: Editar votación,Crear votación, Borrar votación y Desarrolllo API. ''Si fuera necesario se crearán nuevas funcionalidades.''&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Emision Voto - Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Gestión de ramas===&lt;br /&gt;
&lt;br /&gt;
Tendremos la rama &amp;quot;master&amp;quot; donde estará todo nuestro código estable, una rama &amp;quot;development&amp;quot; donde se unirán las ramas de desarrollo para ser validadas, y una vez validada pasará a la rama master. Por último cada miembro tendrá su propia rama de desarrollo (usuario UVUS), para evitar posibles errores a la hora de unir las ramas, cada miembro deberá de programar la funcionalidad o el trozo de código que se le ha sido asignado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gestion_ramas.JPG|center|thumb|1000px|link=https://1984.lsi.us.es/wiki-egc/images/egc/a/af/Gestion_ramas.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''Open'', ''En curso'', ''Finalizado''. Los dos primeros estados estarán por defecto al crear al issues, se considerará &amp;quot;En curso&amp;quot; cuando la issues este asignada y abierta. El último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del Coordinador y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6743</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6743"/>
				<updated>2017-12-03T17:47:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Obtención de una pregunta ==&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una pregunta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una pregunta==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
== Eliminación de una pregunta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Obtención de una respuesta ==&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/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/respuesta.json?id=3&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una respuesta ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createRespuesta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se puede seleccionar&lt;br /&gt;
        * seleccionada: parametro para indicar si esa pregunta se puede seleccionar&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createRespuesta?id_pregunta=1&amp;amp;texto_respuesta=Ejemplo&amp;amp;seleccionada=true&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una respuesta==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionRespuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la respuesta a editar&lt;br /&gt;
		* id_pregunta: identificador de la pregunta a la que pertenece&lt;br /&gt;
        * texto_respuesta: texto de la respuesta que se realiza&lt;br /&gt;
        * seleccionada: parametro para indicar si se ha seleccionado la respuesta&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionRespuesta.json?id=1&amp;amp;id_pregunta=3&amp;amp;texto_respuesta=Prueba&amp;amp;seleccionada=true&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;respuesta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;id_pregunta&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_respuesta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;seleccionada&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  == Eliminación de una respuesta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/respuesta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la respuesta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
'''Formato general de commits'''&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Es importante diferenciar entre los tipos (types) y usar todos en la medida de lo posible. Los ámbitos o focos (scopes) pueden emplearse para hacer referencia a distintas funcionalidades (features).&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''pendiente'', ''en curso'', ''finalizado''. Los dos primeros estados deberían meterse como etiquetas en GitHub, el último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del jefe de proyecto y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6742</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6742"/>
				<updated>2017-12-03T17:37:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Estructura de datos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_respuesta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Obtención de una pregunta ==&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una pregunta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una pregunta==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
== Eliminación de una pregunta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
'''Formato general de commits'''&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Es importante diferenciar entre los tipos (types) y usar todos en la medida de lo posible. Los ámbitos o focos (scopes) pueden emplearse para hacer referencia a distintas funcionalidades (features).&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''pendiente'', ''en curso'', ''finalizado''. Los dos primeros estados deberían meterse como etiquetas en GitHub, el último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del jefe de proyecto y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6741</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6741"/>
				<updated>2017-12-03T17:36:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Obtención de una pregunta ==&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una pregunta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una pregunta==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
== Eliminación de una pregunta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
'''Formato general de commits'''&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Es importante diferenciar entre los tipos (types) y usar todos en la medida de lo posible. Los ámbitos o focos (scopes) pueden emplearse para hacer referencia a distintas funcionalidades (features).&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''pendiente'', ''en curso'', ''finalizado''. Los dos primeros estados deberían meterse como etiquetas en GitHub, el último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del jefe de proyecto y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6740</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6740"/>
				<updated>2017-12-03T17:35:02Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
== Obtención de una pregunta ==&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/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/pregunta.json?id=7&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una pregunta ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/createPregunta&lt;br /&gt;
	  &lt;br /&gt;
	  &lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createPregunta?id_votacion=1&amp;amp;texto_pregunta=Ejemplo&amp;amp;tipo_pregunta=Abierta&amp;amp;id_dependencia=2&lt;br /&gt;
	&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una pregunta==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/edicionPregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
		* id: identificador de la pregunta a editar&lt;br /&gt;
		* id_votación: identificador de la votación a la que pertenece&lt;br /&gt;
        * texto_pregunta: texto de la pregunta que se realiza&lt;br /&gt;
        * tipo_pregunta: parametro para establecer el tipo de pregunta&lt;br /&gt;
        * id_dependencia: parametro para identificar si la pregunta depende de otra&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/edicionPregunta.json?id=1&amp;amp;id_votacion=3&amp;amp;texto_pregunta=Prueba&amp;amp;tipo_pregunta=Cerrada&amp;amp;id_dependencia=8&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
   &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
   &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;pregunta&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;7&amp;quot;,&lt;br /&gt;
      &amp;quot;id_votacion&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;texto_pregunta&amp;quot;: &amp;quot;¿Prefieres consola o pc?&amp;quot;,&lt;br /&gt;
      &amp;quot;tipo_pregunta&amp;quot;: &amp;quot;Abiera&amp;quot;,&lt;br /&gt;
      &amp;quot;id_dependencia&amp;quot;: &amp;quot;2&amp;quot;,&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  == Eliminación de una pregunta ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/pregunta.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la pregunta a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
'''Formato general de commits'''&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Es importante diferenciar entre los tipos (types) y usar todos en la medida de lo posible. Los ámbitos o focos (scopes) pueden emplearse para hacer referencia a distintas funcionalidades (features).&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''pendiente'', ''en curso'', ''finalizado''. Los dos primeros estados deberían meterse como etiquetas en GitHub, el último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del jefe de proyecto y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6734</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6734"/>
				<updated>2017-12-03T16:55:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Tecnología usada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Jackson (Para API)'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
'''Formato general de commits'''&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Es importante diferenciar entre los tipos (types) y usar todos en la medida de lo posible. Los ámbitos o focos (scopes) pueden emplearse para hacer referencia a distintas funcionalidades (features).&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''pendiente'', ''en curso'', ''finalizado''. Los dos primeros estados deberían meterse como etiquetas en GitHub, el último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del jefe de proyecto y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6723</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6723"/>
				<updated>2017-12-02T18:57:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Tecnología usada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java 1.8 -&amp;gt; Eclipse Jee Neon 3&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': Maven&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    ''' '''&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
'''Formato general de commits'''&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Es importante diferenciar entre los tipos (types) y usar todos en la medida de lo posible. Los ámbitos o focos (scopes) pueden emplearse para hacer referencia a distintas funcionalidades (features).&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''pendiente'', ''en curso'', ''finalizado''. Los dos primeros estados deberían meterse como etiquetas en GitHub, el último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del jefe de proyecto y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6681</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6681"/>
				<updated>2017-11-30T20:44:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Tecnología usada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java -&amp;gt; Eclipse&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Spring'''&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
'''Formato general de commits'''&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Es importante diferenciar entre los tipos (types) y usar todos en la medida de lo posible. Los ámbitos o focos (scopes) pueden emplearse para hacer referencia a distintas funcionalidades (features).&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''pendiente'', ''en curso'', ''finalizado''. Los dos primeros estados deberían meterse como etiquetas en GitHub, el último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del jefe de proyecto y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6680</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6680"/>
				<updated>2017-11-30T20:43:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Tecnología usada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': Java -&amp;gt; Eclipse&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Spring''&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
'''Formato general de commits'''&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Es importante diferenciar entre los tipos (types) y usar todos en la medida de lo posible. Los ámbitos o focos (scopes) pueden emplearse para hacer referencia a distintas funcionalidades (features).&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''pendiente'', ''en curso'', ''finalizado''. Los dos primeros estados deberían meterse como etiquetas en GitHub, el último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del jefe de proyecto y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6679</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6679"/>
				<updated>2017-11-30T20:39:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Consideraciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/EGC-G2-Trabajo-1718/AdministracionVotaciones&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
'''Formato general de commits'''&lt;br /&gt;
&lt;br /&gt;
El formato general de los commits parte de la siguiente base.&lt;br /&gt;
Es importante diferenciar entre los tipos (types) y usar todos en la medida de lo posible. Los ámbitos o focos (scopes) pueden emplearse para hacer referencia a distintas funcionalidades (features).&lt;br /&gt;
&lt;br /&gt;
A continuación se detalla un ejemplo:&lt;br /&gt;
&lt;br /&gt;
 Título del commit: fix: redirección errónea tras emitir voto.&lt;br /&gt;
 Cuerpo del commit: Después de que el usuario emitiese su voto este era redireccionado a una URL no existente. Ahora el usuario es redireccionado al panel &lt;br /&gt;
 principal.&lt;br /&gt;
 Pie del commit: Closes #&amp;lt;número de la incidencia en GitHub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
&lt;br /&gt;
Las incidencias se tratarán con la siguiente nomenclatura:&lt;br /&gt;
&lt;br /&gt;
 '''Título''': &amp;lt;breve título&amp;gt;&lt;br /&gt;
 '''Prioridad''': a seleccionar: ''urgente'', ''alto'', ''medio'', ''bajo''.&lt;br /&gt;
 '''Estado''': ''pendiente'', ''en curso'', ''finalizado''. Los dos primeros estados deberían meterse como etiquetas en GitHub, el último estado se prouduce cuando se cierra la incidencia en GitHub.&lt;br /&gt;
 '''Descripción''': &amp;lt;descripción detallada de la incidencia&amp;gt;&lt;br /&gt;
    La descripción puede incluir imagenes o la salida emitida por la incidencia.&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;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia con la nomenclatura descrita en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de no tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot;, previa validación del jefe de proyecto y el creador de la issue. Se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6560</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6560"/>
				<updated>2017-11-27T15:43:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Edición de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/martos93/EGC1718&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot; y se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6558</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6558"/>
				<updated>2017-11-27T15:42:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Edición de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/martos93/EGC1718&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
 Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot; y se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6557</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6557"/>
				<updated>2017-11-27T15:41:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/martos93/EGC1718&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
    Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot; y se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6556</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6556"/>
				<updated>2017-11-27T15:40:56Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Creación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/martos93/EGC1718&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/create&lt;br /&gt;
?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
    Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot; y se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6555</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6555"/>
				<updated>2017-11-27T15:40:34Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/martos93/EGC1718&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Creación de una votación ==&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) con los parámetros siguientes y se devolverá un JSON con la siguiente información.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''URL:''' &lt;br /&gt;
      http://egc-votacion1718.es/api/create&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/createP&lt;br /&gt;
?id_censo=1&amp;amp;id_grupo=2&amp;amp;titulo=Prueba&amp;amp;descripcion=Descripcion&amp;amp;fecha_ini=10/10/17&amp;amp;fecha_fin=11/10/17&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
    Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/post/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición DELETE (a través del formulario descrito en su correspondiente vista) 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/delete/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    DELETE http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot; y se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6513</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6513"/>
				<updated>2017-11-25T18:05:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* Eliminación de una votación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/martos93/EGC1718&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
    Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/get/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot; y se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6512</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6512"/>
				<updated>2017-11-25T17:53:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: /* API */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/martos93/EGC1718&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
== Dependencias ==&lt;br /&gt;
En primer lugar estableceremos cuales van a ser las dependencias de nuestro módulo con otros.&lt;br /&gt;
&lt;br /&gt;
Por una parte, necesitaremos información a cerca de si el usuario tiene los permisos necesarios para crear, editar o borrar una votación. Obtendremos esta información recibiendo los datos pertinentes del módulo de &amp;quot;Autenticación&amp;quot;, para que a la hora de crear una votación se le asignen los permisos con los que se podrá crear.&lt;br /&gt;
&lt;br /&gt;
Por otro lado, necesitamos saber qué usuarios van a poder votar en dicha votación. Para ello necesitaremos obtener esta información recibiendo los datos necesarios del módulo de &amp;quot;Censo&amp;quot;, para que a la hora de crear la votación también podamos asignar al grupo de usuarios que podrán votar.&lt;br /&gt;
&lt;br /&gt;
Para terminar, nuestro módulo deberá poder ofrecer la información completa de la votación al módulo de &amp;quot;Cabina de votación&amp;quot; para que se lleve a cabo. Para ello, ofreceremos una API que procedemos a definir.&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
    Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/get/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot; y se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6511</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6511"/>
				<updated>2017-11-25T17:46:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Miembros y contacto =&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
= Especificaciones =&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/martos93/EGC1718&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
= API =&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtención de una votación ==&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Edición de una votación==&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
    Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/get/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Eliminación de una votación ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Gestión =&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Se realizará la comunicación mediante la aplicación &amp;quot;Telegram&amp;quot;, creando un grupo en el que se encuentran todos los miembros del equipo. Las reuniones no presenciales serán gestionadas telematicamente con &amp;quot;Skype&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Gestión del trabajo ==&lt;br /&gt;
&lt;br /&gt;
La gestión del trabajo, la creación de tareas y la asignación de las mismas se harán mediante la plataforma &amp;quot;Trello&amp;quot;. Se crearán los siguientes tableros:&lt;br /&gt;
   * Lista de tareas: Se añadirán las tareas que se vayan identificando durante el desarrollo del trabajo.&lt;br /&gt;
   * En proceso: Se añadirán las tareas a este tablero una vez se asignen y se empiecen a trabajar.&lt;br /&gt;
   * En revisión: Se añadirán las tareas finalizadas a falta de una revisión por el resto del equipo.&lt;br /&gt;
   * Hecho: Se añadirán las tareas terminadas una vez revisadas.&lt;br /&gt;
   * Q&amp;amp;A: Tablero para preguntas y respuestas.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos el código a desarrollar mediante la plataforma &amp;quot;GitHub&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nuestra rama master contendrá la última versión estable, y de ella sacaremos una rama para cada funcionalidad del módulo que implementemos (Editar,Crear,Borrar votación). Una vez finalizadas las pruebas de cada funcionalidad, se procederá a hacer un merge de cada rama con la rama master.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Gestionaremos las incidencias que vayan apareciendo durante el trabajo con la herramienta propia de GitHub.&lt;br /&gt;
&lt;br /&gt;
Crearemos en primer lugar un Milestone en GitHub por cada Milestone de la asignatura para saber el plazo que tenemos para resolver la incidencia y a ellos asignaremos las incidencias (Según proceda). Además, crearemos un proyecto &amp;quot;Administración de votaciones&amp;quot; al que asignar dichas incidencias.&lt;br /&gt;
Usaremos las labels por defecto de GitHub, y crearemos nuevas si fuese necesario.&lt;br /&gt;
&lt;br /&gt;
=== Plan de actuación ===&lt;br /&gt;
El plan de actuación cuando se encuentre una incidencia será el siguiente:&lt;br /&gt;
* Se identificará cual es la incidencia.&lt;br /&gt;
* Añadiremos dicha incidencia en github al proyecto, milestone y label que corresponda.&lt;br /&gt;
* En caso de tener claro quien podría resolver la incidencia, se notificará al coordinador del grupo via &amp;quot;Telegram&amp;quot; para que la revise y asigne según su criterio; además de al resto del equipo por &amp;quot;Telegram&amp;quot;.&lt;br /&gt;
* Una vez resuelta (Antes del plazo del Milestone asignado) se cerrará en &amp;quot;GitHub&amp;quot; y se notificará por &amp;quot;Telegram&amp;quot; al equipo.&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6510</id>
		<title>Administración de votaciones - 17 18 - G2</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Administraci%C3%B3n_de_votaciones_-_17_18_-_G2&amp;diff=6510"/>
				<updated>2017-11-25T17:13:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jesmarale: Página creada con «== Miembros y contacto ==  * Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador''' * Francisco Fernández Angulo * Jesús Martos Alé * Miguel Medrano Gil...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Miembros y contacto ==&lt;br /&gt;
&lt;br /&gt;
* Pablo Tinoco Castillo, ''ptinococastillo@gmail.com'' '''Coordinador'''&lt;br /&gt;
* Francisco Fernández Angulo&lt;br /&gt;
* Jesús Martos Alé&lt;br /&gt;
* Miguel Medrano Gil&lt;br /&gt;
* Gonzalo Trabado García&lt;br /&gt;
&lt;br /&gt;
== Objetivo del subsistema ==&lt;br /&gt;
* Gestionar la creación de una votación&lt;br /&gt;
* Gestionar la edición de una votación&lt;br /&gt;
* Gestionar el borrado de una votación&lt;br /&gt;
&lt;br /&gt;
== Consideraciones ==&lt;br /&gt;
* Repositorio del proyecto: https://github.com/martos93/EGC1718&lt;br /&gt;
* Página Opera: http://opera.eii.us.es/egc/public/trabajo/ver/id/98&lt;br /&gt;
* Dependencias con otros módulos: Recibimos datos de &amp;quot;Autenticación&amp;quot; y &amp;quot;Censo&amp;quot;, enviamos datos a &amp;quot;Cabina de votaciones&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Tecnología usada ==&lt;br /&gt;
&lt;br /&gt;
 '''Subsistema''': Administración de votaciones&lt;br /&gt;
 '''Lenguaje/Herramienta''': PHP -&amp;gt; PHPStorm&lt;br /&gt;
 '''Sistema de gestión de bibliotecas''': ¿?&lt;br /&gt;
 '''Bibliotecas''': &lt;br /&gt;
    '''Larabel framework''': versión 5.5&lt;br /&gt;
 '''Necesita Base de datos''': Sí (Ninguna empleada actualmente, a la espera de directrices)&lt;br /&gt;
&lt;br /&gt;
== Estructura de datos ==&lt;br /&gt;
&lt;br /&gt;
Haremos uso de la tablas votación, pregunta y respuesta:&lt;br /&gt;
&lt;br /&gt;
    Votación:&lt;br /&gt;
        - id: (int) identificador de la votación [pk, autoincrementable]&lt;br /&gt;
        - id_censo: (int) identificador del censo [fk, not null]&lt;br /&gt;
        - id_grupo: (int) identificador del grupo que puede votar en la votación [fk, not null]&lt;br /&gt;
        - titulo: (string/varchar) titulo de la votación a crear [blank, not null]&lt;br /&gt;
        - descripcion: (string/varchar) descripción de los objetivos de la votación [blank, not null]&lt;br /&gt;
        - fecha_ini: (datetime) fecha de inicio de la votación [not null, default=fecha_actual]&lt;br /&gt;
        - fecha_fin: (datetime) fecha de fin de la votación[not null]&lt;br /&gt;
    Pregunta:&lt;br /&gt;
        - id: (int) identificador de la pregunta [pk, autoincrementable]&lt;br /&gt;
        - id_votacion: (int) identificador de la votación a la que pertenece [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la pregunta que se realiza [blank, not null]&lt;br /&gt;
        - tipo_pregunta: (string/varchar ?) parametro para establecer el tipo de pregunta (Abierta, cerrada) [blank, not null]&lt;br /&gt;
        - id_dependencia: (int) identificador para definir dependencias entre preguntas [fk]&lt;br /&gt;
    Respuesta:&lt;br /&gt;
        - id: (int) identificador de la respuesta [pk, autoincrementable]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - id_pregunta: (int) identificador de la pregunta [fk, not null]&lt;br /&gt;
        - texto_pregunta: (string/varchar) texto de la respuesta [blank, not null]&lt;br /&gt;
        - seleccionada: (boolean) parámetro para establecer la selección de la respuesta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta sería la estructura de las tablas sobre las que trabajaríamos, una votación tendrá varias preguntas que podrán ser abiertas o cerradas, y estas a su vez podrán depender de otras preguntas. Las preguntas podrán tener una o más respuestas.&lt;br /&gt;
&lt;br /&gt;
== API ==&lt;br /&gt;
Las funcionalidades aquí descritas y especificadas no son finales. Debido a la diversidad de funcionalidades y necesidades de los otros grupos, éstas pueden variar a lo largo del desarrollo (sea debido al despliege, conflictos, etc).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtención de una votación ===&lt;br /&gt;
&lt;br /&gt;
----&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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/get/votacion.json?id=1&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
      &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Edición de una votación===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Se hace una petición POST (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
        * id: identificador de la votación&lt;br /&gt;
        * id_censo: identificador del censo&lt;br /&gt;
        * id_grupo: identificador del grupo que puede votar en la votación&lt;br /&gt;
        * titulo: titulo de la votación a crear&lt;br /&gt;
        * descripcion: descripción de los objetivos de la votación&lt;br /&gt;
        * fecha_ini: fecha de inicio de la votación&lt;br /&gt;
        * fecha_fin: fecha de fin de la votación&lt;br /&gt;
&lt;br /&gt;
    Aquellos parámetros que no se introduzcan no se modificarán.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    POST http://egc-votacion1718.es/api/get/votacion.json?id=1&amp;amp;titulo=Titulo_modificado&lt;br /&gt;
&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Editado con éxito&amp;quot;,&lt;br /&gt;
   &amp;quot;votacion&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;id_censo&amp;quot;: &amp;quot;288&amp;quot;,&lt;br /&gt;
      &amp;quot;id_grupo&amp;quot;: &amp;quot;31&amp;quot;,&lt;br /&gt;
      &amp;quot;titulo&amp;quot;: &amp;quot;Votación sobre consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;descripción&amp;quot;: &amp;quot;En esta votación comprobaremos si hay mas gamers de PC o consolas&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_ini&amp;quot;: &amp;quot;31/07/2017 07:07&amp;quot;,&lt;br /&gt;
      &amp;quot;fecha_fin&amp;quot;: &amp;quot;31/08/2017 07:07&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Eliminación de una votación ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Se hace una petición GET (a través del formulario descrito en su correspondiente vista) 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/votacion.json&lt;br /&gt;
&lt;br /&gt;
'''Parámetros:'''&lt;br /&gt;
    * id: Identificador de la votación a eliminar.&lt;br /&gt;
&lt;br /&gt;
'''Ejemplo:'''&lt;br /&gt;
    GET http://egc-votacion1718.es/api/delete/result.json?id=1&lt;br /&gt;
'''Formato JSON:'''&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;exito&amp;quot;: true,&lt;br /&gt;
    &amp;quot;mensaje&amp;quot;: &amp;quot;Eliminado con éxito&amp;quot;&lt;br /&gt;
  }&lt;/div&gt;</summary>
		<author><name>Jesmarale</name></author>	</entry>

	</feed>