Diferència entre revisions de la pàgina «Projecte Vota - Especificacions»

De Wiket
Salta a la navegació Salta a la cerca
Línia 46: Línia 46:
 
== Valoració ==
 
== Valoració ==
 
===Sprint 1===
 
===Sprint 1===
* M6 : programació client
+
* M6 : programació client (prohibit utilitzar jQuery)
 
** En l'apartat creació de consulta s'han d'implementar les validacions següents:
 
** En l'apartat creació de consulta s'han d'implementar les validacions següents:
 
*** La pregunta no pot ser buida
 
*** La pregunta no pot ser buida

Revisió del 18:51, 21 nov 2017

Vota3.jpeg

En aquest projecte crearem un portal per a organitzacions que requereixin votacions, típicament (però no només) partits polítics, ajuntaments, etc.

Introducció

Alguns referents:

  • loomio.org


Requeriments

Es vol un sistema de votació que compleixi amb els següents requeriments mínims:

  • Ha de permetre crear consultes.
  • Les consultes poden ser binàries (Si/No), binàries amb abstenció, o amb un nombre finit de respostes tancades.
  • Ha de permetre convidar persones a una consulta via correu electrònic.
  • L'usuari ha de poder veure el vot que ha emès per una consulta, i si vol, canviar-ho.
  • Per seguretat, els administradors poden veure els vots totals però no poden veure qui emet cada vot, ni tan sols si tenen accés a la base de dades. Cal un sistema de protecció de la privacitat.

Requeriments optatius:

  • Implementar un sistema de delegació de vot. Els usuaris convidats a una consulta poden delegar el seu vot en una tercera persona de confiança. El vot del convidat serà, doncs, el mateix que el de la persona sobre la que es delega.


Especificacions funcionals

  1. Els usuaris administradors poden:
    1. Crear consultes (pregunta, opcions de resposta i les dates d'obertura i tancament)
    2. Convidar votants via correu electrònic
    3. Publicar o amagar els resultats de les consultes
    4. Esborrar consultes
    5. Crear agendes de votants (llistes d'emails)
  2. Els usuaris votants:
    1. Rebran una invitació via email quan un administrador els convidi a una consulta
    2. Quan accedeixin per primer cop se'ls crearà un compte de votant associat al correu electrònic
    3. Tindran l'opció de recuperar contrasenya via email
    4. Poden veure les consultes obertes pendents
    5. Poden veure un historial de les consultes a les que se'ls ha convidat
    6. Poden verificar el vot efectuat
    7. Poden modificar el seu vot sempre i quan no s'hagi tancat la consulta


Especificacions no-funcionals

El projecte es realitzarà amb PHP i llibreries PDO.


Valoració

Sprint 1

  • M6 : programació client (prohibit utilitzar jQuery)
    • En l'apartat creació de consulta s'han d'implementar les validacions següents:
      • La pregunta no pot ser buida
      • Al menys han d'existir 2 opcions de resposta
      • Cap opció de resposta pot ser buida
      • La data de obertura no pot ser buida
      • La data de tancament no pot ser buida
      • La data d'obertura ha de ser posterior al dia actual
      • La data d'obertura ha de ser anterior a la data de tancament
      • El temps de votació ha de ser com a mínim d'un dia
      • Les dates només tindrán en compte dies (no hores, ni minuts)
    • En accedir a la pàgina creació d'una consulta mitjançant un botó crearem un label i una caixa de text per la pregunta i uns labels i caixes de text per introduir la data d'obrtura i de tancament de la consulta
    • Una vegada existeixi el label i la caixa de text de la pregunta es crearà un botó per crear respostes
    • Es creará un botó per esborrar totes les respostes
    • Es creará un botó per enviar les dades al servidor
    • Cada resposta consta de:
      • Label amb la informació resposta "num de la resposta", caixa de text per introduir la resposta
    • Si qualsevol caixa de text en perdre el focus es buida s'ha de enmarcar en vermell amb un text indicatiu
    • En l'apartat de votació:
      • La pregunta ha d'apareixer directament pero les respostes han d'apareixer amb un efecte de deslliçament
  • M7 : programació servidor
    • Veure les especificacions funcionals (més amunt)
    • Per començar a treballar en equip, es recomana començar per aquestes tasques:
      • Fer login/logout i que ens mostri en tot moment quin usuari som
      • Crear consultes i votar
  • M9 : disseny d'interfície
    • ...

Sprint 2