Proyecto en laravel de registro e inicio de session
Requerimientos
Laravel: >= 7.2 (Framework)
Mysql >= 8 (Base de datos)
Redis >= 6 (Colas)
El api se trabajara con el paquete de laravel de infyom -> infyomlaravelgenerator/#features
Extra a considerar (opcional):
infyom puede configurarse para que funcione el swagger del api
Validar las entradas a los endpoints datos reales
Tarea
Hacer Backend Endpoints
1 endpoint de login con jet
2 endpoint registro de usuarios
Datos a registrar (Nombre, Apellido, Teléfono, Email)
Validar que el email tenga un patrón real
Enviar un mensaje de texto con un codigo a travez de twilio el codigo del mensaje de texto tendrá una duracion de 15 minutos,
Enviara un correo electrónico para confirmar con un codigo único que expire en 24 horas en un link
3 endpoint que reciba el codigo y valida la existencia del correo electronico
4 endpoint de recuperacion de contrasena
envio de correo electrónico con un codigo para recuperar y abrir en un link
5 endpoint para reenviar codigo de confirmación.
Hacer Frontend Vuejs
No se usaran blade para hacer todas las pantallas, solo se usara el blade para la pantalla donde inicia el vuejs y posteriormente todo se hará en vuejs
1. Pantalla de inicio de session
2. Pantalla de Registro
3.Pantalla de recuperación de contrasena
4.
Pantalla que solo entra cuando ya inicio session, si se ententa entrar y no hay iniciado session se debe sacar de esa pantalla.
5. Pantalla que el link se abre del correo electronico para confirmar
Nota a considerar :
Debe existir una tabla donde se guarde los emails y que estado esta, si se envio o no se ha enviado de la misma manera con los mensajes de texto.
Los email no se pueden enviar directamente sino a travez de queque, que será ejecutado por un scheduling cada 30 minutos, o por un comando que debe hacerse.
Todas las expiraciones y datos de esa manera deben en un archivo de constantes
Los endpoint deben ser colocados en Postman para hacer pruebas y se debe exportar la colección y colocarlo en una carpeta en el codigo
Trabajar en git (Listados de commits)
1.En el momento de bajar el repositorio, crear un Readme (Solo el archivo) y hacer un commit
2. Instalación infyom y jwt
3. Endpoints
4.Seeder y migracion
5.
Pruebas unitarias
6. Pantallas en vuejs
Observaciones:
Las personas que postulen deben estar seguro que pueden hacer el trabajo, y aquella persona seleccionada si le pone corazón y queda un codigo bien estructurado y bien minimalista entonces de seguro podrá trabajar con nosotros tiempo completo o para próximos proyectos en el cual tendremos 4 piezas de software en un mes.
Plazo de Entrega: 17 Julio, 2020