Diferencia entre revisiones de «Grupo Creación/administración de votaciones(2014-15)»
(→Interfaz del Sistema) |
|||
(No se muestran 88 ediciones intermedias de 6 usuarios) | |||
Línea 1: | Línea 1: | ||
− | Interfaz para la creación y administración de votaciones. | + | 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=== | ||
<ul> | <ul> | ||
<li> De Tena Benzal, Daniel </li> | <li> De Tena Benzal, Daniel </li> | ||
Línea 13: | Línea 17: | ||
</ul> | </ul> | ||
− | + | === URL del Repositorio en Github=== | |
− | + | https://github.com/EGC-1415-Repositorio-compartido/repvoting/tree/creacionVotaciones | |
− | |||
− | El canal 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: | ||
+ | [[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 === | |
− | de | + | |
+ | *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=== | ||
+ | |||
+ | [[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=== | ||
+ | <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=== | |
+ | 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 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