creagia/laravel-sign-pad
Laravel package for capturing handwritten signatures via a sign pad, storing them with Eloquent models, and optionally generating certified signed PDFs. Includes install command, configurable storage/redirects, and publishable JS assets for a full signing flow.
RequiresSignature trait, CanBeSigned contract) aligns with Laravel’s architecture and promotes reusability.signed, documentGenerated) for auditing or notifications.signatures table), which can be customized via the config file. This avoids schema conflicts with existing applications.<x-creagia-signature-pad />) and JavaScript assets, simplifying UI integration. The component is configurable (e.g., button styles, disabled states), allowing alignment with existing design systems.config/sign-pad.php). For large-scale applications, this could lead to storage bloat or performance bottlenecks if not optimized (e.g., using cloud storage like S3).s3, gcs) via the disk config option.public/vendor/sign-pad/. In monolithic apps, this could clutter the asset pipeline or conflict with existing builds (e.g., Vite/Webpack).CanBeSigned and optionally ShouldGenerateSignatureDocument. This adds boilerplate but is manageable with traits and IDE support (e.g., PHPStorm’s "Implement Methods" refactoring).disk config supports the target storage (e.g., S3, GCS).tenant-{id}/signatures).<x-creagia-signature-pad /> component.composer require creagia/laravel-sign-pad
php artisan sign-pad:install
config/sign-pad.php (e.g., storage disk, redirect routes).RequiresSignature trait and implement CanBeSigned to target models.ShouldGenerateSignatureDocument and define getSignatureDocumentTemplate().<x-creagia-signature-pad />.signatures table if using a fresh database.feature.sign-pad) for gradual rollout.ShouldGenerateSignatureDocument for target models.getSignatureRoute() returns a valid route and CSRF token is included.storage/logs/laravel.log).tinker to inspect model relationships (e.g., `$How can I help you explore Laravel packages today?