Usuario:ManuelRomero/Laravel/tarea laravel

De WikiEducator
Saltar a: navegación, buscar


Icon activity.jpg

Requisitos

  • La aplicación será una gestión básica de una empresa a nivel de datos
  • La empresa tiene tres elementos:
  1. Empleados
  2. Clientes
  3. Facturas
Además se añaden los siguientes requisitos extras
  • En esta línea se establecen los siguientes requisitos:
De los empleados, nos interesa saber qué idiomas hablan
Almacenaremos sus 6 idiomas que mejor controlan aparte de su idioma materno que no almacenaremos.
Por lo tanto, de cada empleado queremos almacenar
entre 0 y 6 idiomas que hable (además del suyo).
Las facturas pueden pertenecer a 1 o 4 clientes
Lógicamente cada cliente puede tener muchas facturas o ninguna
Se debe de poblar las tablas todas con al menos
  • 50 clientes
  • 200 facturas
  • Se deben de gestionar altas, bajas consultas y modificaciones de cada una de las tablas según proceda
  • Se valorará que a nivel de gestión, se cree un componente con vue para la gestión de los datos de la tabla (ver el tema correspondiente de vue)
  • El siguiente diagrama E/R establece esta información
Modelo E R empresas.png
El sistema debe de funcionar por roles.
  • Vamos a crear tres tipos de usuarios de la aplicación (deben de existir en la tabla de usuarios), según se muestra en la imagen siguiente
  • La tabla siguiente muestra la gestión de roles:


Icon summary.gif
Ideas sobre un sistema de roles en una aplicación

1.- Te identificas en el sistema
2.- En función de tus credenciales puedes realizar determinadas acciones en el sistema
3.- Se identifican roles y a cada rol se le asignan determinadas acciones (dar de alta usuarios, subir noticias, modificar clientes ...)
4.- A los diferentes usuarios se les asisigna un rol concreto, con lo que puede realizar las acciones que a ese rol se le han atribuído
5.- El sistema es tremendamente flexible, puedo asignar permisos concretos (pe. facturas.read o clientes.create representando la acción de leer de la tabla facturas o crear nuevos clientes) a un rol que tenga un usuario o directamente a un usuario. 5.- Muchas veces, simplemente con un rol, podemos dejar establecido este sistema de permisos, otras veces tendremos que usar permisos para mayor detalle si así lo necesitamos.


Para esta prácticat, vamos a implementar la siguiente situación.
  • Gestión a nivel de CRUD las sigueintes tablas
Modelo relacional roles.png

  • Y queremos establecer el siguiente sistema de permisos que pretende dejar claro el diagrama siguiente
DigramaGenearlRoles.png