Usuario:ManuelRomero/Laravel/tarea laravel

De WikiEducator
< Usuario:ManuelRomero‎ | Laravel
Revisión a fecha de 04:58 8 mar 2023; ManuelRomero (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
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

(Comment.gif: Los requisitos se establecen para buscra casuísticas que nos obliguen a adaptar nuestro software a situaciones concretas particulares. No pretende buscar situaciones reales, sino forzarlas para necesitar adaptar el desarrollo a las mismas.)


  • 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
  • El siguiente diagrama E/R establece esta información
Modelo E R empresas.png
Gestion por roles
  • Es una utilidad que suelen tener muchas aplicaciónes donde hay diferentes secciones en nuestro sistema
  • Es algo muy típico y muy bien implementado en los csm, que básicamente consiste en:


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 este post, vamos a implementar un ejemplo de una aplicación donde tenemos la siguiente situación.
  • Una app que gestiona 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