Giter Site home page Giter Site logo

moffinguer / decide-part-camaron-2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from adrrf/decide-part-camaron

0.0 0.0 0.0 2.14 MB

Plataforma de voto electrónico educativa

License: GNU Affero General Public License v3.0

Shell 0.43% JavaScript 17.14% Python 71.25% CSS 0.01% HTML 11.01% Dockerfile 0.15%

decide-part-camaron-2's People

Contributors

adrrf avatar albdomrui20 avatar alemerpal avatar carlos-bermejo avatar carzarrei avatar dangalmar avatar elenatomasvela avatar francisco-david avatar ismaelherrera2000 avatar marizqlav avatar marolmmar1 avatar moffinguer avatar

decide-part-camaron-2's Issues

Número de votos en Dashboard

Expected Behavior

Se debe mostrar el número de votos que tiene una votación y el porcentaje del censo que ha votado en ella.

Actual Behavior

No tiene ninguna funcionalidad.

Integracion votaciones

Se espera integrarnos con el grupo-part-camaron-3 con el modulo de Voting

Expected Behavior

Seleccionar las tecnicas de postprocesados cuando se cree una votacion

Actual Behavior

Solo puedes modificar los tipos de votos. Dejandolo así afecta a las técnicas creadas, creando incompatibilidades

Natural workflow

  1. Crear una votacion
  2. Elegir tecnicas de postprocesado adecuadas

Implementación postprocesamiento Cuota de Droop

Expected Behavior

Que el módulo de post procesamiento acepte el modo cuota de droop

Actual Behavior

El módulo de post procesamiento no acepta el modo cuota de droop

Natural workflow

  1. Informarse sobre el tipo de post procesamiento cuota de droop
  2. Realizar implementación
  3. Comprobar funcionamiento con tests unitarios y de interfaz

Añadir botones de backup al dashboard

Expected Behavior

Los botones de crear un Backup y restaurar la Database deben de estar en el dashboard, ya que añaden funcionalidad al módulo

Actual Behavior

Ambos botones están en la esquina superior de la vista vote

Natural workflow

  1. Subir Dashboard
  2. Cambiar botones

Datos en tiempo real en el dashboard

Expected Behavior

El Dashboard debe mostrar informacion actualizada en tiempo real sobre las votaciones.

Actual Behavior

Enseña datos recopilados de la base de datos en un momento concreto.

Natural workflow

  1. Instalar Django Channels
  2. Crear integración con WebSocket.
  3. Abrir una conexión de WebSocket al servidor y escuchar los mensajes del servidor.

Tests erroneos de voteHistory tras la integración

Expected Behavior

Los test funcionan correctamente

Actual Behavior

Los test, a pesar de funcionar correctamente antes de la integración, ahora tienen fallos debido al cambio en el metodo post de Store

Natural workflow

  1. Detectar el fallo en los tests
  2. Corregir los tests para que se adapten al nuevo metodo post de Store
  3. Comprobar que todos los tests funcionan correctamente

Mover funciones de postprocesamiento a módulo independiente

Expected Behavior

Las funciones de postprocesamiento deberían estar en un módulo independiente.

Actual Behavior

Las funciones de postprocesamiento están actualmente en el módulo de voting.

Natural workflow

  1. crear un modelo de postprocesamiento
  2. mover las funciones de postprocesamiento y hacerlo modular, meter tipos de postpoc
  3. mover y crear tests sobre el postprocesado y los datos pertinentes.

Integración continua

Expected Behavior

Se debe de poder hacer un despliegue en la Nube

Actual Behavior

Actualmente no está desplegado de forma continua de ninguna forma

Definición de Plantillas

Se debe de establecer en la Wiki la estrategia a seguir para issues. Las plantillas existen, se deben clarificar y explicar.

Pruebas insuficientes para el backup

Expected Behavior

Deben haber al menos 5 o 6 pruebas

Actual Behavior

Solo existen 2 pruebas del backup

Natural workflow

  1. Añadir las pruebas convenientes
  2. Comprobar que funcionan correctamente

workflow de automatización de pull requests a repositorio central

Expected Behavior

que al realizar un nuevo push a master, se cree, automáticamente en el repositorio central una pull request con esos cambios.

Actual Behavior

el procedimiento de pull request a master se tiene que hacer de manera manual

Natural workflow

  1. creacion de un workflow que automatice ese proceso
  2. testearlo con un push a master

Error con el entendimiento de los votos para el historial

Expected Behavior

Los votos de los usuarios están cifrados, por lo que no es posible acceder a ellos en la base de datos y no deben mostrarse los campos "a" y "b" cifrados en el historial.

Actual Behavior

Se había malinterpretado los campos a y b de los votos como opciones de voto, y por tanto se mostraban en el historial como las opciones votadas por el usuario en dicho voto.

Natural workflow

  1. Deshacer los datos erróneos creados
  2. Eliminar los campos de la visualización en el html
  3. Rediseñar el historial de votos para que muestre las votaciones en las que el usuario votó ordenadas por fecha (de más reciente a más antiguo) así como las preguntas de esa votación y la fecha del voto. Además será posible acceder a los resultados de las votaciones desde el historial.

Autoformateo

Expected Behavior

Se debería de comprobar cada vez que se haga un push el codigo se formatee de tal forma que use el estandar de pep8

Actual Behavior

Actualmente hacemos la verificación con Codacy, si hay errores, se decide si quitar o arreglarlo

Natural workflow

  1. Hacer push
  2. Antes de ejecutar la verificación de tests e integración, formatear

Backup votos

Expected Behavior

Se debe de crear un sistema de backup en caso de borrar la base de datos. Se debe de elegir el backup.

Actual Behavior

No está implementado

Natural workflow

  1. Guardar en un backup los votos
  2. Seleccionar backup a elegir

Integración inesperada necesaria entre Voting y voteHisory

Expected Behavior

El historial de votos muestra las votings, que pueden tener varias preguntas tras los cambios del grupo part-camaron-3

Actual Behavior

El historial muestra votings en las que ha participado el usuario, pero teniendo en cuenta una sola pregunta por voting únicamente

Natural workflow

  1. Rehacer el html para mostrar varias preguntas
  2. Integrar con los cambios en el modelo de voting
  3. Testear que la integración y las funcionalidades funcionan correctamente

Añadir campo a plantilla de issues

Expected Behavior

En la plantilla debe existir un campo que permita al creador de la incidencia incluir información que facilite replicar el problema, como datos del entorno.

Actual Behavior

La plantilla solo incluye un Workflow, un comportamiento esperado y el comportamiento real.

Natural workflow

  1. Crear nueva plantilla en base a la actual.
  2. Publicar la plantilla.

Fallo auto merge CI

Expected Behavior

Si hay una pull request para CI abierta, ignorarla, y continuar

Actual Behavior

Lanza un error por existir una existente

Natural workflow

  1. Cuando ejecute el hook, si el ultimo comando lanza error usar " || true"

Integración continua

Expected Behavior

Se debe de poder hacer un despliegue en Vagrant

Actual Behavior

Actualmente no está desplegado de forma continua de ninguna forma

Tests para los datos en tiempo real (Django Channels)

Expected Behavior

Se verifica la implementacion de Django Channels para el uso de WebSockets con test unitarios en el test.py del módulo store.

Actual Behavior

Los datos en tiempo real no están siendo testeados en la aplicación.

Backup folder

Expected Behavior

Se debería de crear una carpeta backup cuando haces un backup

Actual Behavior

No lo hace

Natural workflow

  1. Crear un backup
  2. Si existe el fichero, no crearlo
  3. Si no, crearlo

Dashboard

Expected Behavior

Tablón de datos con información sobre una votación, y funciones

Actual Behavior

No está integrado

Añadir envío de mensaje de WebSockets desde booth

Expected Behavior

Cuando se realiza una votacion en booth, se envia al dashboard de store para que cuente como nuevo voto

Actual Behavior

No se envía nada desde booth, solo desde el post de store de administrador

Borda falla

Expected Behavior

El algoritmo de borda debería de devolver un listado de valores por votación

Actual Behavior

No funciona

Natural workflow

No procede

Técnicas de Postprocesado a votaciones single

Expected Behavior

Cuando se haga una votación que no es de tipo single, denegar que se pueda usar técnicas de postprocesado

Actual Behavior

Ahora mismo intenta hacer el postprocesado rompiendo el sistema

Natural workflow

  1. Elegir tipo de votación, que no es single
  2. Elegir un tipo de postprocesado
  3. Si no es NONE, avisar por pantalla
  4. Sino, permitir su creación

Backups needing a delete button

Expected Behavior

The ammount of backup files can be overwhelming, the app should display a mechanism for deleting backup files locally

Actual Behavior

The only way to delete a backup is by deleting the file manually

Natural workflow

  1. Create a page that lets you select which elements to delete
  2. Create a delete button

Postprocesado para varias preguntas por votación

Expected Behavior


Debe cambiar de forma que teniendo varias preguntas por votación, se aplique un postprocesado a cada pregunta teniendo en cuenta el tipo de pregunta (nomal, pregunta si/no, etc).

Actual Behavior


Actualmente el post procesado de la votación está hecho para una sola pregunta por votación

Natural workflow


  1. Cambiar el postprocesado para que tenga en cuenta cada pregunta por votación

Conflicto de WebSocket y operaciones síncronas con Django

Expected Behavior

Cuando haces una petición HTTP POST, la petición se procesa de forma síncrona, lo que significa que Django espera hasta que se completa la petición antes de continuar.

Actual Behavior

Cuando se establece una conexión WebSocket, se crea un bucle de eventos que maneja las comunicaciones entre el cliente y el servidor. Este bucle de eventos es asíncrono, lo que significa que puede manejar múltiples tareas al mismo tiempo sin tener que esperar a que se complete una tarea antes de pasar a la siguiente.

Cuando intentas hacer una consulta a la base de datos (que es una operación síncrona) dentro de este bucle de eventos, Django te da un error porque no puedes hacer operaciones síncronas dentro de un contexto asíncrono.

Envío de mensaje cliente-servidor Websocket

Expected Behavior

Cuando se realiza un post debería enviarse un mensaje con la información actualizada

Actual Behavior

Se establecen las conexiones con el servidor pero no se envía ni recibe nada

workflow de automatización de pr de develop a master

Expected Behavior

que al realizar un nuevo push a develop, se cree, automáticamente una pull request a la rama master con esos cambios.

Actual Behavior

el procedimiento de pull request a master se tiene que hacer de manera manual

Natural workflow

  1. creacion de un workflow que automatice ese proceso
  2. testearlo con un push a master

workflow de automatización de releases

Expected Behavior

con cada tag subida a master deberiamos tener una release, para que no sea tan tediosa la creación de la release se automatizará el proceso con un workflow

Actual Behavior

no tenemos ninguna release, ni ningun proceso de automaticación que automatice la generación de las mismas

Natural workflow

  1. creación del flujo
  2. probar que funcione correctamente con un tag de prueba

Método postprocesado incluye campo tipo

Expected Behavior

When obtaining the results of a vote, in the postproc atribute, the first argument of the json is called "type" and contains the name of the method used to process the data.

Actual Behavior

Actually, as on decide part 3, this field only contains the same value of the "votes" atribute

Natural workflow

intentionally blank

Backups en .gitignore

Expected Behavior

The "backup" folder's content is not pushed every time.

Actual Behavior

The "backup" folder's content is pushed every time, meaning its backups are always pushed whenever they're changed.

Natural workflow

  1. Include decide/store/backup in .gitignore.
  2. Push changes.

desactivar protección a develop

Expected Behavior

el workflow de pr automáticos deberia hacer pr cuando a develop se hace un push

Actual Behavior

el workflow no funciona debido a la protección de las ramas

Natural workflow

  1. desproteger la rama
  2. hacer re run al workflow

Error Integración

Expected Behavior

Tests y vistas de part-camaron-3 deberían de funcionar

Actual Behavior

Tras haberse mergeado los cambios para integración se ha encontrado que se ha roto

Natural workflow

  1. Encontrar problemas
  2. Devolverlos a su estado original

workflow de automatización de pr a central

Expected Behavior

que al realizar un nuevo push a master, se cree, automáticamente en el repositorio central una pull request con esos cambios.

Actual Behavior

el procedimiento de pull request a master se tiene que hacer de manera manual

Natural workflow

  1. creacion de un workflow que automatice ese proceso
  2. testearlo con un push a master

Error en una template del modulo Store

Expected Behavior

El código pasa la depuración de vscode con normalidad

Actual Behavior

vscode detecta un error en la línea 47 de change_list.html de las templates del módulo store al utilizar la sintaxis de plantillas de Django ({{ variable }}) dentro de un bloque de código JavaScript. A pesar de que esto funciona al desplegar Django es detectado como un error en el código.

Bug in postprocIntegration

Expected Behavior

The store page is accessed correctly

Actual Behavior

When you start the app and go to the store page, an error appears

Natural workflow

  1. Go to store/urls.py
  2. Add app_name='store' in the file
  3. Check that the page and tests work

Historial de Votos por persona

Expected Behavior

Un usuario puede ver el historico de votos de ese usuario

Actual Behavior

No está implementado

Natural workflow

  1. Logarse con un usuario normal
  2. Ver historial votos

Vista de Votes del módulo Store

Expected Behavior

Lista con atributos para las votaciones como el id de la votacion y el id del votante además del momento en el que se dió la votación

Actual Behavior

La lista solo muestra los indices, sin atributos para ninguno de ellos

Visualización mejorada del historial

Expected Behavior

El historial mostrará las votaciones junto a los campos relevantes para el usuario

Actual Behavior

El historial muestra uncamente el nombre y las preguntas de la votación en un estilo muy simple

Natural workflow

  1. Añadir los campos correspondientes en el html
  2. Mejorar el estilo del html para que sea algo más agradable a la vista

Integración continua

Expected Behavior

Se debe de poder hacer un despliegue tanto en Vagrant como en Docker y en la Nube

Actual Behavior

Actualmente no está desplegado de forma continua de ninguna forma

Añadir mas tests para controlPanel

Expected Behavior

Se debe de cubrir todas las implementaciones añadidas en la rama

Actual Behavior

No se comprueban todas las líneas del código

Reparto de escaños Saint Lague

Expected Behavior

De de cumplir con el siguiente funcionamiento

Actual Behavior

No está implementado

Natural workflow

  1. Elección de numero escaños
  2. Calculo usando el algoritmo
  3. Visualización de los datos en formato tabla

Código sin testear

Expected Behavior

Las funciones de postprocessing deberian estar correctamente testadas antes de subir a master

Actual Behavior

Las funciones no estan testeadas y están en master

Natural workflow

  1. realizar incremento
  2. realizar test
  3. integrar en master

bad django workflow on postproc

Expected Behavior

El workflow deberia funcionar correctamente

Actual Behavior

El worlflow no ejecuta

Natural workflow

  1. resolver los conflictos en el django.yml
  2. subir los cambios
  3. comprobar correcto funcional

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.