Projecte Vota - Especificacions

De Wiket
Salta a la navegació Salta a la cerca
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ó

  • M6 : programació client
    • 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
      • 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
  • M7 : programació servidor
    • Es pot fer login/logout i ens mostra en tot moment quin usuari som
    • Admin:
      • Es pot crear compte d'usuari admin (sign up)
      • Es poden crear consultes i les seves opcions
      • Es pot convidar usuaris a una consulta
    • Usuari no-admin:
      • Rep correu d'invitació
      • Pot votar
  • M9 : disseny d'interfície
    • ...