[x] Esquema de la base de datos o sistema de almacenamiento (Migrations).
[x] Generación de datos de prueba o catálogos (Seeders & Factories).
[x] Asignación de Foreign Key Constraints
[x] Registro y autenticación de usuarios (login/logout, Sessions, Middleware Auth).
[x] Restringir, permitir o modificar el comportamiento, opciones o acciones en función del tipo de usuario o condiciones (Gates, Policies, Middleware).
[x] Todo formulario deberá ser validado en el lado del servidor.
[x] Agregar validaciones en el cliente mediante html5 o js.
[x] Implementar diseño responsivo. Se sugiere utilizar un framework de CSS o un template basado en framework de CSS
[x] Se sugiere reutilizar elementos comunes (layout, partial views, components).
[x] Mostrar login/logout.
[x] Mostrar errores de validación de formularios.
[x] Navegación dentro de la aplicación (navbar, menu, breadcrumb).
[x] Implementar clases que describan el sistema de almacenamiento (tablas y sus relaciones) (Modelos).
[x] Utilizar estas clases y métodos para consulta y almacenamiento de la información
[x] Implementar al menos un CRUD (Resource Controller)
[x] La información almacenada deberá estar relacionada:
Uno a muchos (1:m). - 50
Muchos a muchos (m:n). - 50
[x] Resolver problema de N + 1 consultas (Eager loading)
[x] Implementar borrado lógico (Soft Deletes).
[x] Modificar información al consultar o guardar (Accessors, Muttators).
[x] Carga de archivos, uno o muchos a la vez
[x] Mostrar archivo o listado de archivos.
[x] Implementar el envío de correo electrónico en al menos una de las siguientes modalidades: - 100
Verificación de correo al crear cuenta de usuario.
Envío de correo electrónico personalizado.
EXTRAS
[x] Crear una relación con más de un modelo (Polimórfica).
[ ] Relación muchos a muchos con información particular a la relación (información adicional en tabla pivote).
[ ] Generar documento pdf, excel, word, etc.
[x] Eliminar o reemplazar archivos.
[x] Programación de tareas recurrentes (Task Scheduling).
[x] Crear ruta que realice una consulta y cuya respuesta sea un JSON.
[x] Mostrar mensajes de éxito al crear, editar o eliminar registros.
[x] Creación de colas de tareas (Jobs).
[x] Autenticación mediante credenciales de terceros (google, twitter, facebook, github).
EXTRAS