Clymail is a SaaS email delivery platform built with Laravel, Livewire, and Filament, enabling users to create, manage, and send reusable email templates via PHPMailer SMTP, including bulk mailing with personalization.
- Initialize a new Laravel project.
- Configure .env for SQLite.
- Install and configure Laravel Livewire.
- Install and configure Filament.
- Scaffold basic authentication (Login/Sign Up).
- Create main Blade layout with Google-style design and deep purple accent.
- Define primary routes for Template Dashboard, Settings, and Notifications.
- Create the migration for the
templatestable (user_id, name, html_content, etc.). - Build the main Template Dashboard Livewire Component (card-based grid, empty state, FAB).
- Implement search and filter functionality on the Template Dashboard.
- Create the Create/Edit Template Livewire Component (HTML editor, live preview, save, layout toggle).
- Connect FAB and "Edit" actions to the Create/Edit page, and "Close" to the dashboard.
- Create a dedicated
MailServiceclass to encapsulate PHPMailer logic. - Build the Settings Page Livewire Component to capture and save user-specific mail configurations.
- Build the Send Mail Page Livewire Component to load templates, parse placeholders, and implement instant email sending.
- Create
mail_logsandmail_jobsdatabase tables (migrations). - Update the
SendMailLivewire Component to include bulk mailing options (manual, MySQL, CSV, JSON inputs). - Create an Artisan command (
php artisan clymail:send-bulk) for background bulk email processing. - Modify the
SendMailcomponent'ssendMailmethod to trigger the Artisan command viaexec()for bulk jobs. - Implement email sending logic within the Artisan command, including iteration, delay, and retry.
- Implement recipient data fetching from MySQL and file parsing (CSV/JSON) within the Artisan command.
- Update
mail_jobstable with status and log individual email attempts inmail_logstable. - Build the Notifications Page Livewire Component to display real-time bulk mail status updates.
- Create Filament Resource for Users.
- Create Filament Resource for Templates.
- Create Filament Resource for Mail Jobs.
- Create Filament Resource for Mail Logs.
- Implement animated profile card in the header's kebab menu.
- Integrate modern modal dialogs for confirmation/input actions (Delete, Duplicate, etc.).
- Ensure all pages are fully mobile-responsive and animations are smooth.
Further instructions on setting up and running the application will be provided in README_CONTEXT.md.