Diferencia entre revisiones de «Grupo Creación/administración de votaciones(2014-15)»

De Wiki de EGC
Saltar a: navegación, buscar
(Interfaz del Sistema)
(Interfaz del Sistema)
 
(No se muestran 67 ediciones intermedias de 5 usuarios)
Línea 1: Línea 1:
Interfaz para la creación y administración de votaciones. Debe ofrecer un formulario con lo necesario para crear una votación y debe gestionar las votaciones en una base de datos o un almacenamiento similar. Se puede ofrecer como servicio o API la información de las votaciones para que los diferentes sistemas tengan acceso.
+
Interfaz para la creación y administración de votaciones.<br>
 +
 
 +
Debe ofrecer un formulario con lo necesario para crear una votación (Pregunta, censo implicado...).<br>
 +
Se debe gestionar las votaciones en una base de datos o un almacenamiento similar. <br>
 +
Se puede ofrecer como servicio o API la información de las votaciones para que los diferentes sistemas tengan acceso.<br>
  
 
===Miembros===
 
===Miembros===
Línea 12: Línea 16:
 
<li> Vallejo Morales, Mercedes </li>
 
<li> Vallejo Morales, Mercedes </li>
 
</ul>
 
</ul>
 +
 +
=== URL del Repositorio en Github===
 +
https://github.com/EGC-1415-Repositorio-compartido/repvoting/tree/creacionVotaciones
  
 
===Formas de comunicación===
 
===Formas de comunicación===
Nuestro principal canal de comunicación es Google Drive, del cual dejamos enlace para ver la evolución del proyecto:
+
*Nuestro principal canal de comunicación es Google Drive, del cual dejamos enlace para ver la evolución del proyecto:
  [[https://drive.google.com/folderview?id=0BzxlwTn_WPpGZDhSOW1aS0xUQ2s&usp=sharing|Google Drive]]
+
  [[https://drive.google.com/folderview?id=0BzxlwTn_WPpGZDhSOW1aS0xUQ2s&usp=sharing| Google Drive]]
 +
*El canal de comunicación informal es whatsapp.
 +
*El canal oficial de comunicación es Projetsii.
 +
[[https://projetsii.informatica.us.es/projects/jylkv9e6xxh2vj3c3nq  Projetsii]]
 +
*El canal de comunicación intergrupal es Projetsii.
 +
 
 +
=== Subsistemas Relacionados ===
  
El canal de comunicación para asuntos de reuniones es whatsapp.
+
*Autenticación: Hacemos uso de un método, disponible gracias a la API que nos facilita, al cual le pasamos por parámetro los datos de la Cookie "usuario:token" y nos devolverá True si está autenticado y False en caso contrario.
  
No se ha decidido todavía un modo de comunicación con el resto de los grupos.  
+
*Creación/Administración de Censos:
Una propuesta sería una plataforma donde los representantes
+
**Al confirmar la creación de una votación, redireccionamos a una URL trasmitiendo el identificador, el nombre y las fechas de la votación.
de los diferentes grupos puedan comunicarse, por ejemplo Google Drive.
+
**Cuando terminan de añadir un censo, al guardar, redireccionan a la URL con la ID del censo para almacenar la relación con la votación: "vote/saveCensus.do/idSurvey=XXX&idCensus=XXX"
 +
**Cuando en la lista de votaciones creadas se selecciona la opción de editar su censo, enviamos una URL con el identificador del Censo.
  
=== Subsistemas Relacionados ===
+
*Cabina de Votaciones:
[[Grupo Autenticación (2014-15)|Autenticación]], [[Grupo Creación/Administración de censos(2014-15)|Creación/Administración de censos]] y [[Grupo de Cabina de votación (2014-15)|Cabina de votación]]
+
**Cuando quieren responder a una votación, redireccionan a la URL: "vote/survey.do/id=XXX". Para devolver un JSON con la siguiente información: {"id":"XXX","title":"XXX","description":"XXX","startDate":"XXX","endDate":"XXX","questions":[{"id":"XXX","text":"XXX"},{"id":"XXX","text":"XXX"]}
 +
 
 +
*Visualización:
 +
**Cuando quieren realizar visualizaciones,redireccionan a la URL: "vote/allSurveys.do/". Enviamos un JSON con la lista de todas las votaciones: {{"id":"XXX","title":"XXX","description":"XXX","startDate":"XXX","endDate":"XXX","questions":[{"id":"XXX","text":"XXX"},{"id":"XXX","text":"XXX"]}, {"id":"XXX","title":"XXX","description":"XXX","startDate":"XXX","endDate":"XXX","questions":[{"id":"XXX","text":"XXX"},{"id":"XXX","text":"XXX"]},...}
 +
 
 +
*Deliberación:
 +
**Al confirmar la creación de una votación, redireccionamos a una URL trasmitiendo el nombre de la votación.
 +
 
 +
*Verificación:
 +
**Integraremos con nuestro proyecto un .jar (librería compatible con Java)
  
 
===Interfaz del Sistema===
 
===Interfaz del Sistema===
  
[[Archivo:Untitled (1).png]]
+
[[Archivo: relaciones.png]]
 +
 
 +
[[Archivo: diagramabueno.png]]
 +
 
 +
    save(Survey) -> Void
 +
Método que dada una encuesta, la almacena en la base de datos.
 +
 
 +
    saveCensus(Census) -> Void
 +
Método que dada dado un censo, lo añade a la encuesta y la almacena en la base de datos.
  
     isAuth(connection,token) -> Boolean
+
     delete(Survey) -> Void
 +
Método que dada una encuesta, la elimina de la base de datos.
  
Dado un token guardado como cookie, el sistema deberá comprobar que el login sea correcto. Si no es correcto el método devuelve falso, concelándose
+
    mine() -> list<Survey>
cualquier acción.
+
Método que devuelve todas las encuestas que he creado.
  
    create() -> Survey
+
  allSurvey() -> list<Survey>
Método que crea una encuesta.
+
Método que devuelve todas las encuestas.
  
    addQuestion(Survey) -> Question
+
  allFinishedSurvey() -> list<Survey>
 +
Método que devuelve todas las encuestas finalizadas.
  
Método que, dada una encuesta crea una pregunta. Una pregunta está compuesta por el enunciado, la lista de opciones de respuestas, el número de opciones que se puede seleccionar, el número de opciones que pueden ganar y el tipo de pregunta.
+
===API del Sistema ===
  
    save(Survey,Question,Census) -> Void
+
* Guardar una Votación
Método que dada una encuesta, la almacena en la base de datos.
+
POST: /vote/save.do
 +
 
 +
'''Request Sample:'''
 +
{"type":"survey",
 +
  "usenarmeCreator":"marperrei1",
 +
  "title":"survey1",
 +
  "description":"survey1Sample",
 +
  "startDate":"24/11/2014",
 +
  "endDate":"27/11/2014",
 +
  "questions":[
 +
      {"type":"question",
 +
      "text":"question1"},
 +
      {"type":"question",
 +
      "text":"question2"}
 +
  ]
 +
}
 +
 
 +
* Recuperar una Votación
 +
GET: /vote/survey.do?id=XXX
 +
 
 +
'''Response Sample:'''
 +
{"type":"survey",
 +
  "id": "XXX",
 +
  "version": "YYY",
 +
  "usenarmeCreator":"marperrei1",
 +
  "title":"survey1",
 +
  "description":"survey1Sample",
 +
  "startDate":"24/11/2014",
 +
  "endDate":"27/11/2014",
 +
  "questions":[
 +
      {"type":"question",
 +
      "id": "X0X0X0",
 +
      "version": "Y0Y0Y0",
 +
      "text":"question1"},
 +
      {"type":"question",
 +
      "id": "X1X1X1",
 +
      "version": "Y1Y1Y1",
 +
      "text":"question2"}
 +
  ]
 +
}
 +
 
 +
* Recuperar todas las Votaciones
 +
GET: /vote/allSurveys.do
  
   
+
'''Response Sample:'''
  getCensus() -> Census
+
{{"type":"survey",
 +
  "id": "XXX",
 +
  "version": "YYY",
 +
  "usenarmeCreator":"marperrei1",
 +
  "title":"survey1",
 +
  "description":"survey1Sample",
 +
  "startDate":"24/11/2014",
 +
  "endDate":"27/11/2014",
 +
  "questions":[
 +
      {"type":"question",
 +
      "id": "X0X0X0",
 +
      "version": "Y0Y0Y0",
 +
      "text":"question1"},
 +
      {"type":"question",
 +
      "id": "X1X1X1",
 +
      "version": "Y1Y1Y1",
 +
      "text":"question2"}
 +
  ]
 +
},
 +
{"type":"survey",
 +
  "id": "XXX",
 +
  "version": "YYY",
 +
  "usenarmeCreator":"marperrei1",
 +
  "title":"survey1",
 +
  "description":"survey1Sample",
 +
  "startDate":"24/11/2014",
 +
  "endDate":"27/11/2014",
 +
  "questions":[
 +
      {"type":"question",
 +
      "id": "X0X0X0",
 +
      "version": "Y0Y0Y0",
 +
      "text":"question1"},
 +
      {"type":"question",
 +
      "id": "X1X1X1",
 +
      "version": "Y1Y1Y1",
 +
      "text":"question2"}
 +
  ]
 +
}}
  
Método que permite seleccionar el Censo que podrá realizar votaciones en la encuesta.
+
* Recuperar todas las Votaciones finalizadas
 +
GET: /vote/finishedSurveys.do
  
  edit(Survey) -> Survey
+
'''Response Sample:'''
Método que permite editar la encuesta.
+
{{"type":"survey",
 +
  "id": "XXX",
 +
  "version": "YYY",
 +
  "usenarmeCreator":"marperrei1",
 +
  "title":"survey1",
 +
  "description":"survey1Sample",
 +
  "startDate":"24/11/2014",
 +
  "endDate":"27/11/2014",
 +
  "questions":[
 +
      {"type":"question",
 +
      "id": "X0X0X0",
 +
      "version": "Y0Y0Y0",
 +
      "text":"question1"},
 +
      {"type":"question",
 +
      "id": "X1X1X1",
 +
      "version": "Y1Y1Y1",
 +
      "text":"question2"}
 +
  ]
 +
},
 +
{"type":"survey",
 +
  "id": "XXX",
 +
  "version": "YYY",
 +
  "usenarmeCreator":"marperrei1",
 +
  "title":"survey1",
 +
  "description":"survey1Sample",
 +
  "startDate":"24/11/2014",
 +
  "endDate":"27/11/2014",
 +
  "questions":[
 +
      {"type":"question",
 +
      "id": "X0X0X0",
 +
      "version": "Y0Y0Y0",
 +
      "text":"question1"},
 +
      {"type":"question",
 +
      "id": "X1X1X1",
 +
      "version": "Y1Y1Y1",
 +
      "text":"question2"}
 +
  ]
 +
}}
  
 
===Trabajo Realizado===
 
===Trabajo Realizado===
 
<ul>
 
<ul>
 +
01/10/14
 
<li>Formar el grupo</li>
 
<li>Formar el grupo</li>
 
<li>Definir la forma de comunicación dentro del grupo</li>
 
<li>Definir la forma de comunicación dentro del grupo</li>
 
<li>Definir la tecnología que se utilizará</li>
 
<li>Definir la tecnología que se utilizará</li>
 +
<li>Definido el repositorio:  [[https://drive.google.com/folderview?id=0BzxlwTn_WPpGZDhSOW1aS0xUQ2s&usp=sharing|Google Drive]] </li>
 +
06/10/14
 
<li>Definir la interfaz del sistema</li>
 
<li>Definir la interfaz del sistema</li>
 +
 +
07/10/14
 +
<li>Preparar el entorno de desarrollo</li>
 +
15/10/2014
 +
<li>Analizar el gestor de tareas "Github"</li>
 +
20/10/2014
 +
<li> Preparar gestor de tareas </li>
 +
<li> Elegir un gestor de tareas para utilizar</li>
 +
<li> Realizar las pruebas del gestor de tareas entre los miembros del grupo</li>
 +
10/11/2014
 +
<li> Definir como nos relacionamos a nivel de información de código con "La cabina de votación"</li>
 +
<li> Iteraciones de código</li>
 +
 +
17/11/2014
 +
<li>Integración con el grupo de Censo</li>
 +
<li>Puesta en común de código y funcionalidad</li>
 +
 +
23/11/2014
 +
<li>Integración con el grupo de Autenticación</li>
 +
<li>Puesta en común de código y funcionalidad</li>
 +
 +
30/11/2014
 +
<li>Integración con el grupo de Verificación</li>
 +
<li>Puesta en común de código y funcionalidad</li>
 +
 +
.../12/14
 +
<li>Integración con los grupos que usan nuestra funcionalidad</li>
 +
<li>Puesta en común de código y explicaciones</li>
 
</ul>
 
</ul>
  
 
===Trabajo por Realizar===
 
===Trabajo por Realizar===
<ul>
+
Terminar pequeños hilos sueltos de integración
 
 
</ul>
 
  
 
== Iteraciones ==
 
== Iteraciones ==
  
 
* [[Iteración 1 (06/10/14) - Grupo de Creación/administración de votaciones - 14/15 | Iteración 1 (06/10/14)]]
 
* [[Iteración 1 (06/10/14) - Grupo de Creación/administración de votaciones - 14/15 | Iteración 1 (06/10/14)]]
 +
* [[Iteración 2 (13/10/14) - Grupo de Creación/administración de votaciones - 14/15 | Iteración 2 (13/10/14)]]
 +
* [[Iteración 3 (15/10/14) - Grupo de Creación/administración de votaciones - 14/15 | Iteración 3 (15/10/14)]]
 +
* [[Iteración 4 (20/10/14) - Grupo de Creación/administración de votaciones - 14/15 | Iteración 4 (20/10/14)]]
 +
* [[Iteración 5 (3/11/14) - Grupo de Creación/administración de votaciones - 14/15 | Iteración 5 (10/11/14)]]
 +
* [[Iteración 6 (10/11/14) - Grupo de Creación/administración de votaciones - 14/15 | Iteración 6 (17/11/14)]]

Revisión actual del 18:22 19 dic 2014

Interfaz para la creación y administración de votaciones.

Debe ofrecer un formulario con lo necesario para crear una votación (Pregunta, censo implicado...).
Se debe gestionar las votaciones en una base de datos o un almacenamiento similar.
Se puede ofrecer como servicio o API la información de las votaciones para que los diferentes sistemas tengan acceso.

Miembros

  • De Tena Benzal, Daniel
  • García Padilla, Fernando
  • Guerrero Cubero, Jaime
  • Moreno Martín, Olga Minerva
  • Moreno Soto, José Iván
  • Pérez Domínguez, Francisco José
  • Pérez Reina, María
  • Vallejo Morales, Mercedes

URL del Repositorio en Github

https://github.com/EGC-1415-Repositorio-compartido/repvoting/tree/creacionVotaciones

Formas de comunicación

  • Nuestro principal canal de comunicación es Google Drive, del cual dejamos enlace para ver la evolución del proyecto:
[Google Drive]
  • El canal de comunicación informal es whatsapp.
  • El canal oficial de comunicación es Projetsii.
[Projetsii]
  • El canal de comunicación intergrupal es Projetsii.

Subsistemas Relacionados

  • Autenticación: Hacemos uso de un método, disponible gracias a la API que nos facilita, al cual le pasamos por parámetro los datos de la Cookie "usuario:token" y nos devolverá True si está autenticado y False en caso contrario.
  • Creación/Administración de Censos:
    • Al confirmar la creación de una votación, redireccionamos a una URL trasmitiendo el identificador, el nombre y las fechas de la votación.
    • Cuando terminan de añadir un censo, al guardar, redireccionan a la URL con la ID del censo para almacenar la relación con la votación: "vote/saveCensus.do/idSurvey=XXX&idCensus=XXX"
    • Cuando en la lista de votaciones creadas se selecciona la opción de editar su censo, enviamos una URL con el identificador del Censo.
  • Cabina de Votaciones:
    • Cuando quieren responder a una votación, redireccionan a la URL: "vote/survey.do/id=XXX". Para devolver un JSON con la siguiente información: {"id":"XXX","title":"XXX","description":"XXX","startDate":"XXX","endDate":"XXX","questions":[{"id":"XXX","text":"XXX"},{"id":"XXX","text":"XXX"]}
  • Visualización:
    • Cuando quieren realizar visualizaciones,redireccionan a la URL: "vote/allSurveys.do/". Enviamos un JSON con la lista de todas las votaciones: {{"id":"XXX","title":"XXX","description":"XXX","startDate":"XXX","endDate":"XXX","questions":[{"id":"XXX","text":"XXX"},{"id":"XXX","text":"XXX"]}, {"id":"XXX","title":"XXX","description":"XXX","startDate":"XXX","endDate":"XXX","questions":[{"id":"XXX","text":"XXX"},{"id":"XXX","text":"XXX"]},...}
  • Deliberación:
    • Al confirmar la creación de una votación, redireccionamos a una URL trasmitiendo el nombre de la votación.
  • Verificación:
    • Integraremos con nuestro proyecto un .jar (librería compatible con Java)

Interfaz del Sistema

Relaciones.png

Diagramabueno.png

   save(Survey) -> Void

Método que dada una encuesta, la almacena en la base de datos.

   saveCensus(Census) -> Void

Método que dada dado un censo, lo añade a la encuesta y la almacena en la base de datos.

   delete(Survey) -> Void

Método que dada una encuesta, la elimina de la base de datos.

   mine() -> list<Survey>

Método que devuelve todas las encuestas que he creado.

 allSurvey() -> list<Survey>

Método que devuelve todas las encuestas.

 allFinishedSurvey() -> list<Survey>

Método que devuelve todas las encuestas finalizadas.

API del Sistema

  • Guardar una Votación

POST: /vote/save.do

Request Sample:
{"type":"survey",
 "usenarmeCreator":"marperrei1",
 "title":"survey1",
 "description":"survey1Sample",
 "startDate":"24/11/2014",
 "endDate":"27/11/2014",
 "questions":[
     {"type":"question",
      "text":"question1"},
     {"type":"question",
      "text":"question2"}
 ]
}
  • Recuperar una Votación

GET: /vote/survey.do?id=XXX

Response Sample:

{"type":"survey",
 "id": "XXX",
 "version": "YYY",
 "usenarmeCreator":"marperrei1",
 "title":"survey1",
 "description":"survey1Sample",
 "startDate":"24/11/2014",
 "endDate":"27/11/2014",
 "questions":[
     {"type":"question",
      "id": "X0X0X0",
      "version": "Y0Y0Y0",
      "text":"question1"},
     {"type":"question",
      "id": "X1X1X1",
      "version": "Y1Y1Y1",
      "text":"question2"}
 ]
}
  • Recuperar todas las Votaciones

GET: /vote/allSurveys.do

Response Sample:

{{"type":"survey",
 "id": "XXX",
 "version": "YYY",
 "usenarmeCreator":"marperrei1",
 "title":"survey1",
 "description":"survey1Sample",
 "startDate":"24/11/2014",
 "endDate":"27/11/2014",
 "questions":[
     {"type":"question",
      "id": "X0X0X0",
      "version": "Y0Y0Y0",
      "text":"question1"},
     {"type":"question",
      "id": "X1X1X1",
      "version": "Y1Y1Y1",
      "text":"question2"}
 ]
},
{"type":"survey",
 "id": "XXX",
 "version": "YYY",
 "usenarmeCreator":"marperrei1",
 "title":"survey1",
 "description":"survey1Sample",
 "startDate":"24/11/2014",
 "endDate":"27/11/2014",
 "questions":[
     {"type":"question",
      "id": "X0X0X0",
      "version": "Y0Y0Y0",
      "text":"question1"},
     {"type":"question",
      "id": "X1X1X1",
      "version": "Y1Y1Y1",
      "text":"question2"}
 ]
}}
  • Recuperar todas las Votaciones finalizadas

GET: /vote/finishedSurveys.do

Response Sample:

{{"type":"survey",
 "id": "XXX",
 "version": "YYY",
 "usenarmeCreator":"marperrei1",
 "title":"survey1",
 "description":"survey1Sample",
 "startDate":"24/11/2014",
 "endDate":"27/11/2014",
 "questions":[
     {"type":"question",
      "id": "X0X0X0",
      "version": "Y0Y0Y0",
      "text":"question1"},
     {"type":"question",
      "id": "X1X1X1",
      "version": "Y1Y1Y1",
      "text":"question2"}
 ]
},
{"type":"survey",
 "id": "XXX",
 "version": "YYY",
 "usenarmeCreator":"marperrei1",
 "title":"survey1",
 "description":"survey1Sample",
 "startDate":"24/11/2014",
 "endDate":"27/11/2014",
 "questions":[
     {"type":"question",
      "id": "X0X0X0",
      "version": "Y0Y0Y0",
      "text":"question1"},
     {"type":"question",
      "id": "X1X1X1",
      "version": "Y1Y1Y1",
      "text":"question2"}
 ]
}}

Trabajo Realizado

    01/10/14
  • Formar el grupo
  • Definir la forma de comunicación dentro del grupo
  • Definir la tecnología que se utilizará
  • Definido el repositorio: [Drive]
  • 06/10/14

  • Definir la interfaz del sistema
  • 07/10/14

  • Preparar el entorno de desarrollo
  • 15/10/2014

  • Analizar el gestor de tareas "Github"
  • 20/10/2014

  • Preparar gestor de tareas
  • Elegir un gestor de tareas para utilizar
  • Realizar las pruebas del gestor de tareas entre los miembros del grupo
  • 10/11/2014

  • Definir como nos relacionamos a nivel de información de código con "La cabina de votación"
  • Iteraciones de código
  • 17/11/2014

  • Integración con el grupo de Censo
  • Puesta en común de código y funcionalidad
  • 23/11/2014

  • Integración con el grupo de Autenticación
  • Puesta en común de código y funcionalidad
  • 30/11/2014

  • Integración con el grupo de Verificación
  • Puesta en común de código y funcionalidad
  • .../12/14

  • Integración con los grupos que usan nuestra funcionalidad
  • Puesta en común de código y explicaciones

Trabajo por Realizar

Terminar pequeños hilos sueltos de integración

Iteraciones