Envío en masa de un correo promocional a 1,000,000 usuarios sin afectar el rendimiento principal de la aplicación.
- ⛔ prohibido paquetes externos
- ⛔ prohibido inteligencia artificial
- ⛔ prohibido github copilot
- ✅ permitido documentacion de laravel
- ✅ permitido google, stackoverflow
- Instalacion ejercicio laravel:
composer require byancode/laravel-exercise-1
- Service Provider ejecuta el comando:
php artisan vendor:publish --provider="Byancode\LaravelExercise1\ServiceProvider"
- Variables de Entorno:
MAIL_FROM_ADDRESS="test@byancode.com"
MAIL_FROM_NAME="Byancode"
-
Modelo
Notification
: reference- Crea un modelo llamado
Notification
con los siguientes atributos:id
title
- Establece una relación
belongsToMany
con el modeloUser
.
- Crea un modelo llamado
-
Población de Datos (Seeders): reference
- Llena la tabla
users
con 1,000,000 registros de usuarios ficticios. - Agrega un registro en la tabla
notifications
, donde el contenido del atributotitle
sea: 'Nueva actualización del sistema'.
- Llena la tabla
-
Comando Personalizado: reference
- Crea un comando que pueda invocarse como: php artisan
users:send-newsletter
.
- Crea un comando que pueda invocarse como: php artisan
-
Clase Mailable
NotificationShipped
: reference- Crea una clase mailable llamada
NotificationShipped
. - En el constructor, recibe el modelo
Notification
como parámetro.
- Crea una clase mailable llamada
-
Programación del Comando: reference
- Programa el comando
users:send-newsletter
en elKernel
de la consola, para que se ejecute cada minuto.
- Programa el comando
El modelo
Notification
servira para registrar los usuarios que se les envio un email mediante la relacionBelongsToMany