kwenziwa / filament-sms-sender
A Filament plugin for sending SMS messages using Vonage formerly Nexmo. This package allows you to select users from a dropdown, configure SMS settings, and send messages directly from your Laravel application.
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/kwenziwa/filament-sms-sender
Requires
- php: ^8.0
- filament/filament: ^3.2.97
- laravel/framework: ^11.0
- vonage/client-core: ^2.6
README
Here's the README file based on the information you provided:
Filament SMS Sender Plugin
A Filament plugin for sending SMS messages using Vonage (formerly Nexmo). This package allows you to select users from a dropdown, configure SMS settings, and send messages directly from your Laravel application.
Features
- Select multiple users from a dropdown list
- Send SMS messages using Vonage
- Configurable table and column names for user phone numbers
- Easy integration with Filament admin panel
Installation
- 
Install the Package Add the package to your Laravel project using Composer: composer require kwenziwa/filament-sms-sender 
- 
Publish the Configuration Publish the package configuration file: php artisan vendor:publish --provider="Kwenziwa\FilamentSmsSender\Providers\SmsSenderServiceProvider" --tag=config
- 
Configure Environment Variables Add the following entries to your .envfile:SMS_SENDER_TABLE_NAME=users SMS_SENDER_PHONE_COLUMN=phone_number VONAGE_API_KEY=your_api_key VONAGE_API_SECRET=your_api_secretReplace your_api_keyandyour_api_secretwith your Vonage API credentials.
- 
Run Database Migrations Ensure your database has a table with the appropriate phone number column. For example, add a phone number column to the userstable:php artisan make:migration add_phone_number_to_users_table --table=users In the migration file: public function up() { Schema::table('users', function (Blueprint $table) { $table->string('phone_number')->nullable(); }); } Run the migration: php artisan migrate 
Usage
- 
Add the SMS Sending Page to Filament Register the SMS sending page in your Filament admin panel. Typically, this is done in a service provider: use Kwenziwa\FilamentSmsSender\Pages\SendSms; public function boot() { Filament::registerPages([ SendSms::class, ]); } 
- 
Access the SMS Sending Page Navigate to the SMS sending page in your Filament admin panel. You should see a form where you can: - Select users from a multi-select dropdown
- Enter the sender number
- Write your SMS message
- Click "Send SMS" to send messages to the selected users
 
Configuration
You can configure the table and column names for phone numbers by editing the config/filament-sms-sender.php file:
return [ 'table_name' => env('SMS_SENDER_TABLE_NAME', 'users'), 'phone_column' => env('SMS_SENDER_PHONE_COLUMN', 'phone_number'), 'api_key' => env('VONAGE_API_KEY'), 'api_secret' => env('VONAGE_API_SECRET'), ];
Development
- 
Clone the Repository Clone this repository to your local machine: git clone https://github.com/yourusername/filament-sms-sender.git 
- 
Navigate to the Package Directory cd filament-sms-sender
- 
Install Dependencies composer install 
- 
Run Tests Ensure everything works as expected: phpunit 
License
This package is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! Please submit issues or pull requests on GitHub. Make sure to follow the contributing guidelines.
Contact
For support or inquiries, please contact kwenziwa@live.com.