Grupo de Cabina de votación (2014-15)
Contenido
Definición
Un subsistema de AGORA@US para mostrar las opciones de la votación donde el votante pueda realizar la votación. El voto tiene que cifrarse en cliente, nunca debe llegar al servidor el voto en claro. A la cabina sólo podrán llegar usuarios autenticados que aún no hayan votado. El voto se enviará cifrado al almacenamiento de votos
Miembros
- Francisco Javier Aguadero García: Gestor de la configuración
- Alfonso Alcántara López: Gestor de la configuración
- José Ignacio Algarín Rodríguez: Gestor de la configuración
- Carlos Borja García-Baquero: Gestor de la configuración
- José Javier Delgado Cuder: Gestor de la configuración
- David Jiménez Vargas: Gestor de la configuración
- Juan Elias Maireles Osuna: Jefe de proyecto
- David Miñon Saborido: Gestor de la configuración
- Lara Rodríguez Ternero: Gestor de la configuración
Iteraciones
- Taller de creación de grupos (29/09/14)
- Taller de arquitectura de la aplicación (01/10/14)
- Taller de gestión de código (1) (06/10/14)
- Taller de gestión de código (2) (08/10/14)
- Taller de herramientas de análisis (15/10/2014)
- Taller de gestión del código (3) (27/10/2014)
Subsistemas relacionados
Para que el subsistema de Almacenamiento de votos, pueda obtener dicho voto, le mandaremos un JSON con la siguiente estructura:
{ "id_votacion": "xxxxxxxxxxxxxxxxxxxxxx", "nombre_usuario": "xxxxxxxxxxxxxxxxxxxxxx", "edad": "xxxxxxxxxxxxxxxxxxxxxx", "genero": "xxxxxxxxxxxxxxxxxxxxxx", "comunidad_autonoma": "xxxxxxxxxxxxxxxxxxxxxx", "preguntas":[ { "id_pregunta":"xxxxxxxxxxxxxxxxxxxxxx", "texto": "xxxxxxxxxxxxxxxxxxxxxx", "opcion": "xxxxxxxxxxxxxxxxxxxxxx" }, { "id_pregunta":"xxxxxxxxxxxxxxxxxxxxxx", "texto": "xxxxxxxxxxxxxxxxxxxxxx", "opcion": "xxxxxxxxxxxxxxxxxxxxxx" } ] }
Para que el subsistema de Creación/Administración de Censos puedan comunicarse con nuestro subsistema, la URI que debe poner en el botón o enlace para que salga la cabina de votación es la siguiente:
http://localhost:8000/cabinaus/id_votacion/
Donde id_votacion siempre debe ser un número, por ejemplo:
http://localhost:8000/cabinaus/15/
Instalación del subsistema
Probado en Windows 7 SP1 x64 (imagen de DreamSpark disponible en la web de la escuela). Para otros sistemas el procedimiento es el mismo.
Probado en Windows 8 (x64 y x32) y 8.1 (x64 y x32)
- 1. Instalar Python 2.7.7 (link)
- 2. Instalar Setuptools (link) teniendo en cuenta python 2.7.7 y 64 o 32 bits
- 3. Ir a la ruta de instalación de scripts python (por defecto: C:\Python27\Scripts) desde el cmd y ejecutar:
pip install Django==1.4.7 pip install djangorestframework==2.4.3 pip install rsa==3.1.4 pip install django-cors-headers==0.13 pip install django-filter==0.9.1 pip install requests==2.5.0
- 4. Ir a la carpeta donde esté el proyecto por cmd y ejecutar: manage.py runserver
- 5. Abrir el navegador en 127.0.0.1:8000
Instalación del subsistema en Ubuntu
1.- Descargar los scripts para Linux: 1)install.sh 2)run.sh
2.- Dar permisos de ejecución a los scripts descargados: Se puede hacer por medio de botón derecho > propiedades > permisos > marcar como ejecutable o bien ejecutando el siguiente comando en un terminal:
chmod +x NOMBRE_DEL_SCRIPT
Cambiando 'NOMBRE_DEL_SCRIPT' por cada uno de los scripts descargados.
3.- Introducir dentro de la carpeta deseada (MAIN) la carpeta descargada con la última versión de cabina-agora-us junto con los dos scripts:
MAIN | |- cabina-agora-us |- install.sh |- run.sh
4.- Ejecutar desde consola el script: En el caso de la primera ejecución ejecutamos desde un terminal que se encuentre en la carpeta (MAIN) :
./install.sh
En el caso que ya hayamos ejecutado el proyecto anteriormente, ejecutamos desde un terminal que se encuentre en la carpeta (MAIN):
./run.sh
En ambos casos, tras la ejecución de cierto código debería pararse el terminal con la línea
================= OK ===================
Con el proceso corriendo.
Tras esto podemos abrir un navegador y acceder a localhost:8000