- La aplicación será una gestión básica de una empresa a nivel de datos
- La empresa tiene tres elementos:
- Empleados
- Clientes
- 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
-
- 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
- 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:
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
- Y queremos establecer el siguiente sistema de permisos que pretende dejar claro el diagrama siguiente
|