componist/reminder-notifications
Laravel package for queued email reminder notifications with a Livewire v4 dashboard. Supports daily (HH:MM), monthly (day 1–30), and yearly (day/month) schedules, with migrations, routes, views, and configurable Livewire components.
componist/reminder-notifications provides email reminder notifications for Laravel applications, with a small Livewire v4 dashboard to manage reminders.
It supports three reminder types:
livewire/livewire: ^4.0)In this monorepo the package is loaded via Composer path/PSR-4 autoloading. After pulling changes, run:
composer dump-autoload
php artisan migrate
The package registers Componist\ReminderNotifications\ReminderNotificationsServiceProvider.
It will:
database/migrationsroutes/web.php (inside a web middleware group)resources/views under the namespace remindernotifications::config('reminderNotificationConfig.livewire')The package defines authenticated dashboard routes:
GET /dashboard/reminder-notification → indexGET /dashboard/reminder-notification/create → createGET /dashboard/reminder-notification/{editElement}/edit → editNamed routes:
package.reminder-notification.indexpackage.reminder-notification.createpackage.reminder-notification.editConfigured in config/config.php:
Componist\ReminderNotifications\Livewire\ReminderNotification\IndexComponist\ReminderNotifications\Livewire\ReminderNotification\CreateComponist\ReminderNotifications\Livewire\ReminderNotification\EditThe views live in:
remindernotifications::livewire.reminder-notification.indexremindernotifications::livewire.reminder-notification.createremindernotifications::livewire.reminder-notification.editThe package creates a reminder_notifications table with (simplified) fields:
title (string)description (text, nullable)email (string)type (string): daily|monthly|yearlytime (string, nullable): used for daily (format HH:MM)daily (string, nullable): used for monthly and yearly (day of month)monthly (string, nullable): used for yearly (month number)status (int, default 1): 1 = active, 0 = inactiveModel:
Componist\ReminderNotifications\Models\ReminderNotificationThe package uses two artisan commands which dispatch queued jobs:
app:get-times-reminder-notifications-commands → dispatches ReminderNotificationsTimesJob
date('H:i'))app:get-daily-reminder-notifications-commands → dispatches ReminderNotificationsDailyJob
In ReminderNotificationsServiceProvider::boot() the package adds schedule entries:
app:get-times-reminder-notifications-commandsapp:get-daily-reminder-notifications-commandsThat means you still need a running Laravel scheduler in your environment, e.g. one of:
php artisan schedule:workphp artisan schedule:run every minuteBoth commands dispatch jobs implementing ShouldQueue. Ensure a queue worker is running, e.g.:
php artisan queue:work
Emails are sent via Laravel Notifications using:
Componist\ReminderNotifications\Notifications\ReminderNotificationNotificationCurrent mail output:
description fieldThe package config key is reminderNotificationConfig.
To override values, create:
config/reminderNotificationConfig.phpExample (minimal):
<?php
return [
'prefix' => '',
'livewire' => [
// override aliases/components if needed
],
];
Available defaults are in packages/componist/reminder-notifications/config/config.php.
MAIL_* configurationphp artisan queue:work is runningschedule:work or cron + schedule:run)time must match the server time format HH:MM (24h)date('H:i')daily (day-of-month) and monthly (month) are set correctlyMIT. See LICENSE.
How can I help you explore Laravel packages today?