Tarea 7 – DWES – 2º DAW e-learning

Hola a todos, hoy os dejo la tarea 7 de desarrollo web entorno servidor (DWES) de 2º DAW de e-learning.

Pueden haber diferentes tareas según la región o instituto. Si quieres que agregue alguna tarea, contacta conmigo.

Contáctanos

Versión 1

Implementaremos un sistema de votación en nuestra página de productos, de manera que, cualquier cliente validado pueda dar una puntuación del 1 al 5 a cada producto. Las valoraciones se reflejarán de manera inmediata en nuestra página gracias a Xajax.

Haremos la página de Login similar a la del apartado 3.4.

Es un proyecto de ejemplo de los apuntes que en cuanto al login y la tabla de productos es igual que la práctica que se pide, pero sin el sistema de votación. Solo hay un formulario de login que permite acceder a la página de productos con un usuario validado y una página listado donde se recupera la información de los productos de la base de datos Un cliente NO podrá valorar dos veces el mismo producto Utilizaremos Xajax para presentar en tiempo real los cambios en la valoración cada vez que un cliente vote por un producto.

Para ello implementaremos el método PHP «miVoto» que insertará el voto, si es la primera vez que el cliente valora un producto, y devolverá:

  • La valoración de ese producto (la media de las valoraciones)
  • False si el usuario ya ha valorado ese producto.

El método PHP: «pintarEstrellas» que se encargará de devolver el número de clientes que han valorado ese producto y las estrellas que se pintarán. Para guardar los votos de cada producto por parte de cada cliente nos crearemos la tabla «votos”.

En la tabla usuarios, ya existente, guardaremos varios usuarios para ir votando por los productos. Se recomienda hacer uso de los iconos Font Awesome para representar las valoraciones.

Las valoraciones de cada producto serán la media aritmética de las mismas, es decir, si un cliente ha valorado con 3/5 y otro con 5/5 la valoración será de 4. Como puntuamos sobre 5 la valoración media máxima será de 5 estrellas. Si la parte decimal de la media de las valoraciones es superior o igual a 0.5 pintaremos media estrella.

Mostraremos también la cantidad de valoraciones que ha recibido un producto (es decir la cantidad de clientes que lo han votado). Fíjate en el vídeo siguiente (archivo “DWES04_PRA_R01_Practica.mp4”), podrás comprobar que están activadas las opciones de depuración en Xajax, lo que nos ayudará a detectar y corregir posibles errores de código. En el «onclick» de botón botar llamaremos a la función «JavaScript» que se encargará de llamar a los métodos PHP ya mencionados.

https://youtu.be/V1NKRNwTdg4

https://youtu.be/oZPBeJpSg50

Aquí puedes descargar la tarea.

Compartir

5 comentarios

  1. fdsafsda

    Deseamos diseñar una aplicación para gestionar los jugadores de un equipo de futbol. Para dicha aplicación trabajaremos con la tabla jugadores, para ella nos crearemos una base de datos nueva y un usuario con permiso en ella. Podemos reutilizar el usuario gestor, de otros ejercicios.

    Se deja el enlace a «tablas.sql» con lo necesario para crear la base de datos, dar a gestor permiso en ella y crear la tabla jugadores.

    Archivo SQL. (sql – 1,15 KB)

    De los jugadores guardaremos nombre y apellidos, una posición, un número de dorsal (único) y un código de barras obligatorio único para cada uno.

    Dependencias obligatorias a instalar con Composer.

    philo/laravel-blade como motor de plantillas.
    milon/barcode Para generar los códigos de barra (Se utilizara el formato EAN-13, que utiliza 13 números).
    fzaninotto/faker Para genera datos aleatorios de prueba.
    autoload con optimizador.
    En la siguiente imagen podrás ver una estructura del proyecto ya terminada, lógicamente puedes usar los nombre de carpetas y ficheros que quieras:

    Imagen de uns estructura en árbol de los directorios y archivos de la práctica..
    Recorte captura de pantalla Visual Studio Code (Elaboración propia)
    1.- «cache» : Esta carpetas es necesaria crearla, y darle permiso «777» si estamos en Linux, para Blade y Barcode.

    2.- «public»: Aquí crearemos todas las páginas que visualizaremos desde el navegador o páginas «.php» para procesar algo. Las páginas que tendrá seran:

    «crearDatos.php» : Está página me genera los datos de ejemplo.

    «crearJugador.php» : está página es el «action» del formulario para crear un jugador. Controlaremos errores para no introducir un dorsal que ya existe, que nombre y apellidos no esté vacios.

    «fcrear.php»: Es el formulario para crear el jugador. Llama a la vista: «vcrear.blade.php». A parte de los botones normales pondremos un botón para generar un código de barras válido («href» a la página «generarCode.php»). El campo para el código de barra lo pondremos de sólo lectura (atributo «readonly»)

    Imagen de un formulario web, en el se pueden ver tres filas. En la primera vemos los campos para introducir el nombre y los apellidos, en la sehunda para introducir el dorsal, la posición y el código de barras y en la última los botones: crear, limpiar, volver y generar barcode.
    Captura de pantalla de Firefox (Elaboración propia.)
    «generarCode.php»: Está página me genera un código de barras EAN-13 válido y que además no exista en la base de datos.

    «index.php»: Es la página de inicio, si la tabla jugadores no tiene datos llamará a «instalacion.php» para crearnos unos datos de ejemplo, si los tiene cargará la página «jugadores.php»

    «instalacion.php»: Carga la vista «vinstalacion.php» básicamente un botón para ir a «crearDatos.php» y crearnos datos de ejemplo.

    Imagen de una página web con un botón con el texto «Instalar Datos de Ejemplo»
    Captura de pantalla Firefox (Elaboración propia)
    «jugadores.php»: Llama a la vista «vjugadores.php» Muestra en una tabla los datos de los jugadores. Tiene un botón crear que llama al formulario para crear un jugador nuevo. Si un jugador NO tiene dorsal mostraremos «Sin asignar».

    Imagen de una página web donde se pueden ver en una tabla una lista de jugadores. Los datos en los campos Nombre Completo, Posición, Dorsal y Código de barras.
    Captura de pantalla Firefox (Elaboración propia)
    3.- «sql» : Tiene el archivo «.sql», no es necesaria realmente.

    4.- «src»: Contiene las Clases para gestionar la base de datos:

    «Conexion.php»: Para crear la conexión.
    «Jugador.php»: Para gestionar la tabla «jugadores». Aquí estarán los métodos para comprobar el «barcode», el dorsal, devolver los jugadores, insertarlos…En fin todos los que sean necesarios.
    5.- «vendor»: La genera Composer.

    6.- «views»: Guardaremos todas las vistas ya mencionadas y la plantillas que utilizaremos.

    A parte de todo esto está el archivo: «composer.json».

  2. fdsafsda

    esa es la tarea 5 de DWES no la tienes subida
    la puedes subir porfavor

  3. ardipitecus

    Buenas, podrías subir la tarea 05? si necesitas el enunciado o algo te lo puedo facilitar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *