Saltar la navegación

1.- Descripción de la tarea

Caso práctico

Juan.Juan se va a encargar de desarrollar un proyecto para el equipo de futbol local. Para el proyecto va a tener que generar códigos de barras para identificar a cada jugador y hacer pruebas con datos ficticios para comprobar que todo funciona antes de entregar el proyecto.

Juan le propone a Carlos que le ayude.

-Carlos ¿Podríamos buscar en Packagist alguna aplicación los código de barras?

-Juan Efectivamente. Trabajaremos también con Blade, para ahorrar código y buscaremos alguna aplicación para generar los datos de prueba.

Jugadores.

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".