Se necesita desarrollar una aplicación que permita a los usuarios autenticados acceder a diferentes funcionalidades según su perfil. La aplicación debe tener tres perfiles de usuario: administrador, alumno y usuario regular. Los administradores pueden crear usuarios, asignar cursos a un usuario y ver el listado de usuarios con sus respectivos cursos. Los alumnos solo pueden ver el listado de cursos asignados.
Para resolver el problema, podemos seguir los siguientes pasos:
-
Implementar un sistema de autenticación con email y contraseña utilizando el paquete de autenticación de Laravel y jwt.
-
Crear diferentes roles de usuario en la base de datos para administrador y alumno.
-
Implementar una interfaz de administrador donde se muestre el listado de usuarios y cursos, y permita crear nuevos usuarios y asignar cursos a usuarios existentes.
-
Implementar una interfaz de alumno donde se muestre el listado de cursos asignados al usuario autenticado.
-
Realizar un login con email y contraseña que permita al usuario visualizar las funcionalidades permitidas según el perfil:
- Utilizar el paquete de autenticación de Laravel para gestionar el inicio de sesión con email y contraseña como JWT.
- Al autenticar con éxito, almacenar el token de acceso en el almacenamiento local.
- Utilizar el token de acceso en las peticiones posteriores para acceder a las funcionalidades permitidas según el perfil del usuario.
-
Realizar un CRUD de Alumnos:
- Crear una tabla alumnos en la base de datos para almacenar la información de los alumnos.
- Implementar las rutas y controladores necesarios en Laravel para el CRUD de alumnos.
- Crear formularios para ingresar y editar la información de los alumnos.
- Realizar operaciones CRUD en la tabla de alumnos.
-
Realizar CRUD de Cursos:
- Crear una tabla cursos en la base de datos para almacenar la información de los cursos.
- Implementar las rutas y controladores necesarios en Laravel para el CRUD de cursos.
- Crear formularios para ingresar y editar la información de los cursos.
- PHP >= 8.1
- Composer
- Laravel >= 10
- Paquete de autenticación de Laravel y JWT