byancode / laravel-exercise-1
This is my package laravel-exercise-1
Installs: 76
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/byancode/laravel-exercise-1
Requires
- php: ^7.4|^8.1|^8.2
- laravel/framework: ^10.0
Requires (Dev)
- phpunit/phpunit: ^9.5
README
Envío en masa de un correo promocional a 1,000,000 usuarios sin afectar el rendimiento principal de la aplicación.
🕵 Normativas
- ⛔ prohibido paquetes externos
- ⛔ prohibido inteligencia artificial
- ⛔ prohibido github copilot
- ✅ permitido documentacion de laravel
- ✅ permitido google, stackoverflow
🛠 Configuración Inicial:
- 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"
📋 Informacion adicional:
-
Modelo
Notification: reference- Crea un modelo llamado
Notificationcon los siguientes atributos:idtitle
- Establece una relación
belongsToManycon el modeloUser.
- Crea un modelo llamado
-
Población de Datos (Seeders): reference
- Llena la tabla
userscon 1,000,000 registros de usuarios ficticios. - Agrega un registro en la tabla
notifications, donde el contenido del atributotitlesea: '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
Notificationcomo parámetro.
- Crea una clase mailable llamada
-
Programación del Comando: reference
- Programa el comando
users:send-newsletteren elKernelde la consola, para que se ejecute cada minuto.
- Programa el comando
📒 NOTA:
El modelo
Notificationservira para registrar los usuarios que se les envio un email mediante la relacionBelongsToMany