Diferencia entre revisiones de «Grupo Creación/administración de votaciones(2014-15)»
(→Subsistemas Relacionados) |
(→Interfaz del Sistema) |
||
(No se muestran 32 ediciones intermedias de 4 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 | + | 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 13: | Línea 17: | ||
</ul> | </ul> | ||
− | === URL del | + | === URL del Repositorio en Github=== |
− | https://github.com/ | + | 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 de comunicación informal es whatsapp. | ||
*El canal oficial de comunicación es Projetsii. | *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 intergrupal es Projetsii. | ||
=== Subsistemas Relacionados === | === 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. | *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: | *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, | + | **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 | + | **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: | *Cabina de Votaciones: | ||
− | **Cuando quieren responder a una 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: | *Visualización: | ||
− | **Cuando quieren realizar visualizaciones, | + | **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: | + | [[Archivo: relaciones.png]] |
+ | |||
+ | [[Archivo: diagramabueno.png]] | ||
− | + | save(Survey) -> Void | |
− | Método que | + | 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. | ||
− | Método que | + | delete(Survey) -> Void |
+ | Método que dada una encuesta, la elimina de la base de datos. | ||
− | + | mine() -> list<Survey> | |
− | Método que | + | Método que devuelve todas las encuestas que he creado. |
− | + | allSurvey() -> list<Survey> | |
− | Método que | + | Método que devuelve todas las encuestas. |
− | + | allFinishedSurvey() -> list<Survey> | |
Método que devuelve todas las encuestas finalizadas. | 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=== | ||
Línea 80: | Línea 224: | ||
<li> Definir como nos relacionamos a nivel de información de código con "La cabina de votación"</li> | <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> | <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=== | ||
− | + | Terminar pequeños hilos sueltos de integración | |
− | |||
− | |||
− | |||
− | |||
− | |||
== Iteraciones == | == Iteraciones == | ||
Línea 96: | Línea 251: | ||
* [[Iteración 3 (15/10/14) - Grupo de Creación/administración de votaciones - 14/15 | Iteración 3 (15/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 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.
Contenido
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
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]
- Definir la interfaz del sistema
- Preparar el entorno de desarrollo
- Analizar el gestor de tareas "Github"
- Preparar gestor de tareas
- Elegir un gestor de tareas para utilizar
- Realizar las pruebas del gestor de tareas entre los miembros del grupo
- Definir como nos relacionamos a nivel de información de código con "La cabina de votación"
- Iteraciones de código
- Integración con el grupo de Censo
- Puesta en común de código y funcionalidad
- Integración con el grupo de Autenticación
- Puesta en común de código y funcionalidad
- Integración con el grupo de Verificación
- Puesta en común de código y funcionalidad
- Integración con los grupos que usan nuestra funcionalidad
- Puesta en común de código y explicaciones
06/10/14
07/10/14
15/10/2014
20/10/2014
10/11/2014
17/11/2014
23/11/2014
30/11/2014
.../12/14
Trabajo por Realizar
Terminar pequeños hilos sueltos de integración