Terminado

Crear herramienta de trivia a partir de una herramienta existente (Vue.js + Php 5.4) Proyecto Express

Publicado el 21 Febrero, 2025 en Programación y Tecnología

Sobre este proyecto

Abierto

Este proyecto consiste en tomar una herramienta de creación de encuestas ya desarrolladla que se puede ver https://bit.ly/4i8z4cP y duplicarla para hacer otra muy similar pero de creación de trivias, agregando las funcionalidades que se describen más abajo. Se puede ver la maqueta de la herramienta de trivias (con todos los cambios y funcionalidades que esta nueva herramienta debe llevar) en https://bit.ly/41aDHw9

Este proyecto deberá entregarse pronto en un máximo de 24 horas luego de aceptada la propuesta.

Este proyecto esta desarrollado en VUE.js y deberá seguir desarrollado así, por lo que se busca a un experto en este framework. Corre sobre un servidor con PHP 5.4 (no tenemos posibilidad de cambiar esto). Se darán credenciales para trabajar directamente en mi servidor. Esta es la primera de varias herramientas que tenemos que desarollar, por lo que si la relación de trabajo va bien la idea es continuar con el mismo desarollador para las otras.

El proyecto consisten en una herramienta de creación de trivias que el usuario crea y publica y que podrá compartir mediante un código de inserción html (se puede verificar cómo quedan las encuestas publicadas ingresando a la url https://bit.ly/4i8z4cP y ingresando a la URL que aparece en el código de inserción bajo el botón “ver código”)

Cuando el usuario publica, se hace la publicación de la versión pública de la herramienta en otro mediante ftp (esto ya está desarrollado). En ese servidor se genera un archivo index.php que controla el formulario y un archivo data.json que le pasa la información de la configuración que se especifico al crear la herramienta (esto ya está desarrollado para la herramienta de encuestas y es exactamente igual para la de trivia).

Funcionalidades de la herramienta trivia nuevas con respecto a la de encuesta:
• Puntaje: A diferencia de la encuesta, al crear cada pregunta se le asigna un puntaje y en base al puntaje obtenido, se le da una devolución al final. Se deberá programar la funcionalidad de puntaje para que al crear la pregunta se le asigne un puntaje y luego al contestarla el sistema cuente los puntos obtenidos y en base a eso de la devolución correspondiente

• Modo de juego: Al crear la herramienta se deberá especificar si es por puntaje o sin puntaje. El funcionamiento interno de la herramienta es exactamente igual en ambos casos (las preguntas seguirán teniendo un puntaje adjudicado y se usara ese puntaje para la devolución) sólo que en modo Sin puntaje, no se le mostraran al usuario final los puntos obtenidos.

• Las preguntas de “Opciones de selección” tienen en cada opción un botón para marcar si la respuesta es correcta (es posible marcar más de una opción como correcta)

• Tiene además un campo de devolución, que es un texto que le aparecerá al usuario una vez que le muestre los resultados de la pregunta, para explicarle el porqué de la respuesta correcta.

• Hay un campo final para especificar cuantos puntos tiene la pregunta (por defecto cada pregunta tiene 1 punto). Si hay más de una respuesta correcta, le da el puntaje igual aunque seleccione solo una de las correctas.

• Hay un nuevo tipo de pregunta que es “Verdadero o falso”, que funciona igual que las preguntas de opciones pero con solo dos opciones, verdadero o falso. Al crear la encuesta se escribe la pregunta y se marca si es verdadero o falso.

• Hay un tercer tipo de pregunta que es “Ordenar elementos” en el que el usuario deberá ordenar las opciones en el orden correcto utilizando drag and drop. Se puede utilizar el mismo script de drag and drop que ya se utiliza en el formulario de creación de la herramienta.

• Hay una opción para seleccionar cuando se debe puntuar. Una opción es “puntuar al contestar cada pregunta”, esto es que luego de contestar cada ya lo va puntuando (le muestra cuales eran las correctas e incorrectas, le dice cuantos puntos obtuvo y en caso que haya texto de devolución, se lo muestra). Si se selecciona esta opción debajo de cada pregunta deberá haber un botón “Contestar” que se deberá presionar para que el sistema tome la pregunta como contestada y la puntue y devolución de la pregunta. Una vez que haya contestado todas las preguntas y se presione el botón de “Enviar” debajo de todo deberá aparecer devolución general en base a los puntos obtenidos (cuando aparezca se debe hacer un auto scroll hasta esa devolución), una vez que aparece la devolución gebera debe desaparecer el modulo de “datos personales” del formulario. Una vez que aparece el puntaje de una pregunta, la pregunta debe quedar bloqueada para que el usuario no pueda cambiar la opción seleccionada (esto ya esta desarollado en la herramienta actual).

La otra opción es “una vez que haya contestado todas las preguntas” esto es que cuando se hayan contestado todas las preguntas y se presione el botón de “Enviar” se hace un auto-scroll a la primera pregunta y aparece en cada pregunta el puntaje y devolución de la pregunta. Como en el caso anterior las preguntas deberán quedar bloqueadas para que el usuario no pueda cambiar su selección (esto ya esta desarollado en la herramienta actual). También deberá desaparecer el (esto ya esta desarollado en la herramienta actual) y aparecer abajo la devolución general.

• Otra opción es “El usuario puede volver a jugar luego de ver los resultados” en caso de estar marcada al finalizar la trivia le aparece un botón de “Volver a jugar” que recarga la trivia para que pueda volver a jugar. En caso de que no esté activado, no solo no le muestra el botón, sino que si vuelve a entrar le muestra los resultados obtenidos cuando jugo (esto se debe hacer guardando un cookie con su sesión y luego cargando esa sesión cuando vuelve a ingresar)

• Se deberá agregar en el formulario de creación de la encuesta el modulo de “Devolución” que permite ir agregando reglas para crear los mensajes que se le mostraran al usuario al contestar todas las preguntas, se pueden crear varias reglas para crear mensajes diferentes que se muestren según los puntos que haya obtenido el usuario.

• Hay una opción de “Dar opciones para compartir resultados” que en caso de activarlo muestra iconos de compartir en redes sociales y comparte el puntaje obtenido, devolución obtenida y link a la trivia.

• En cada pregunta de “opciones de selección” y de “Ordenar elementos” hay una opción de “Orden aleatorio de las opciones”, hay que hacer que si esa opción es activada, cada vez que se cargue la visión pública de la herramienta, las opciones se ordenen de forma aleatoria.

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Cambio mediano
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Roles necesarios Programador

Plazo de Entrega: No definido

Habilidades necesarias

Otros proyectos publicados por G. M.