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)
 
(No se muestran 82 ediciones intermedias de 6 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.
  
El canal de comunicación para asuntos de reuniones es whatsapp.
+
=== Subsistemas Relacionados ===
  
No se ha decidido todavía un modo de comunicación con el resto de los grupos.  
+
*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.
Una propuesta sería una plataforma donde los representantes
+
 
de los diferentes grupos puedan comunicarse, por ejemplo Google Drive.
+
*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===
 
===Interfaz del Sistema===
 +
 +
[[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.
 +
 +
    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===
 
===Trabajo Realizado===
 +
<ul>
 +
01/10/14
 +
<li>Formar el grupo</li>
 +
<li>Definir la forma de comunicación dentro del grupo</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>
 +
 +
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>
  
 
===Trabajo por Realizar===
 
===Trabajo por Realizar===
 +
Terminar pequeños hilos sueltos de integración
 +
 +
== 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 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 19: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