73 Create Roles en el Sistema de Reserva de Citas Medicas con LARAVEL(PHP-MySql) FullStack
Duración: 9 min
Módulo: 🔑 Seguridad, Roles y Permisos
Lección 3 de
15
Descripción
🛡️👤 Lección 73: Creación de Roles Base con Spatie para la Reserva de Citas
Esta lección se centra en el paso práctico de utilizar el paquete Spatie Laravel Permission para definir los roles esenciales del sistema, asegurando que cada usuario (incluidos los pacientes de registro público) tenga un nivel de acceso bien definido.
1. Preparación del Modelo de Usuario
Para que el sistema de roles funcione, el modelo User debe ser modificado para integrar las funcionalidades de Spatie [01:33].
- Integración del Trait: Se deben añadir dos líneas cruciales al modelo User.php:
2. Definición y Siembra (Seeding) de los Roles
Para poblar la tabla roles de la base de datos con los perfiles necesarios, se utiliza un Seeder de Laravel.
- Roles Clave: Se definen los cinco roles principales que tendrá el sistema [05:37]:
- admin (Acceso total)
- secretaria (Gestión de usuarios y citas)
- doctor (Visualización de sus citas y horarios)
- paciente (Reservar citas, ver historial)
- usuario (Usuario que hace una reserva por primera vez, que luego podría convertirse en paciente)
- Creación de Roles en el Seeder: Se utiliza la sintaxis del paquete Spatie para crear estos roles mediante el modelo Role y su método create dentro del seeder [04:43].
- Ejecución de Migraciones: Al ejecutar el comando php artisan migrate:fresh --seed, se garantiza que la tabla roles se llene con los perfiles definidos [07:34].
3. Resultado y Próximo Paso
La ejecución del seeder confirma que la base de datos ahora contiene los cinco roles listos para ser asignados a los usuarios [08:23].
- Funcionalidad Lograda: La tabla roles ya almacena los nombres admin, secretaria, doctor, paciente y usuario.
- Próxima Lección: El siguiente paso será asignar rutas específicas a cada rol utilizando middlewares para controlar qué usuarios tienen acceso a las distintas partes del sistema [08:55].
Lecciones
⚙️ Inicio y Estructura Base
👤 CRUD de Usuarios y UX Avanzada
Lección 2. 10 Listado de usuarios del controllador a la vista en el SISTEMA (PHP y MySql)FullStack
9 min
Lección 3. 11 Diseño de tabla con BOOTSTRAP en la vista en el SISTEMA (PHP y MySql) FullStack
12 min
Lección 6. 14 Registro y validación de datos para USUARIOS en el SISTEMA (PHP y MySql)FullStack
16 min
👩💼 Módulo de Secretarias
🤒 Gestión de Pacientes
Lección 4. 38 Como llamar desde un seeder a un factory de pacientes en LARAVEL(PHP-MySql) FullStack
14 min
Lección 8. 42 Show Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
12 min
Lección 9. 43 EDIT Pacientes en el sistema de reservas de citas medicas LARAVEL(PHP-MySql) FullStack
14 min
🏥 Infraestructura: Consultorios y Doctores
⏰ Horarios y Lógica de Disponibilidad
Lección 1. 60 Calendario de Atención de Doctores en el sistema con LARAVEL(PHP-MySql) FullStack
14 min
Lección 10. 69 Plantilla Web para el sistema de reserva de citas con LARAVEL(PHP-MySql) FullStack
13 min
🔑 Seguridad, Roles y Permisos
Lección 6. 76 Identificando el ROL de cada Usuario en el Sistema con LARAVEL(PHP-MySql) FullStack
11 min
Lección 8. 78 Mostrar el Menú según los Roles y Permisos en Sistema con LARAVEL(PHP-MySql) FullStack
7 min
Lección 9. 79 Acceso No Autorizado con Roles y Permisos en Sistema con LARAVEL(PHP-MySql) FullStack
14 min
Lección 12. 82 Cargar Horario en la página principal en Sistema con LARAVEL(PHP-MySql) FullStack
16 min
Lección 13. 83 Redirigir a ADMIN desde Login y Register en Sistema con LARAVEL(PHP-MySql) FullStack
12 min
🗓️ Reserva de Citas y FullCalendar
Lección 2. 87 Formulario para Registrar Citas Medicas del Sistema con LARAVEL(PHP-MySql) FullStack
18 min
Lección 3. 88 Guardar Cita Medica en la Base de Datos de Sistema con LARAVEL(PHP-MySql) FullStack
15 min
Lección 9. 94 Cargar Reservas de Citas Medicas con AJAX del Sistema con LARAVEL(PHP-MySql) FullStack
20 min
📝 Historial Clínico, Configuraciones y Reportes
Lección 17. 116 Modificación del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
15 min
Lección 19. 118 Reporte Impreso del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
17 min
Lección 20. 119 Buscar Pacientes del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
17 min
Lección 21. 120 Buscar Pacientes del Historial Clínico del Sistema con LARAVEL(PHP-MySql) FullStack
12 min
💵 Pagos, Impresión y Cierre
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️