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

De Wiki de EGC
Saltar a: navegación, buscar
(API del Sistema)
(API del Sistema)
Línea 69: Línea 69:
 
POST: /vote/save.do
 
POST: /vote/save.do
  
Request Sample:
+
Request Sample:
{"type":"survey",
+
{"type":"survey",
"usenarmeCreator":"marperrei1",
+
  "usenarmeCreator":"marperrei1",
"title":"survey1",
+
  "title":"survey1",
"description":"survey1Sample",
+
  "description":"survey1Sample",
"startDate":"24/11/2014",
+
  "startDate":"24/11/2014",
"endDate":"27/11/2014",
+
  "endDate":"27/11/2014",
"questions":[
+
  "questions":[
    {"type":"question",
+
      {"type":"question",
      "text":"question1"},
+
      "text":"question1"},
    {"type":"question",
+
      {"type":"question",
      "text":"question2"}
+
      "text":"question2"}
]
+
  ]
}
+
}
  
 
===Trabajo Realizado===
 
===Trabajo Realizado===

Revisión del 15:19 24 nov 2014

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

Debe ofrecer un formulario con lo necesario para crear una votación (Pregunta, posibles respuestas (Referéndum o no), 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/Josmorsot/trabajoEGC

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 y Creación/Administración de censos
  • 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:
    • Cuando quieren añadir un censo, enviamos una URL con el identificador, el nombre y las fechas de la votación.
    • Cuando terminan de añadir un censo, al guardar, nos envían una 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, nos envían una 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,nos envían una URL: "vote/finishedSurveys.do/". Paravenviamos un JSON con la lista de las votaciones finalizadas: {{"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"]},...}

Interfaz del Sistema

Untitled (1).png

   create() -> Survey

Método que crea una encuesta.

   addQuestion(Survey) -> Question

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.

   save(Survey,Question,Census) -> Void

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

  edit(Survey) -> Survey

Método que permite editar y finalizar la encuesta.

 allFinishSurvey() -> 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"}
 ]
}

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

Trabajo por Realizar

  • Integración con el resto de subsistemas menos con Censo, que ya está integrado

Iteraciones