Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Contactable Laravel Package

labrodev/contactable

Configurable Livewire contact form for Laravel. Define fields in config, optionally persist submissions to an Eloquent model, and send notifications via mail, log, or webhook. Supports published views and translation-ready labels/messages.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. Buy: Accelerates development of a reusable, production-ready contact form component, reducing custom build time by 80%+.
  • Roadmap Alignment: Enables rapid iteration for MVP launches (e.g., "Add contact form to landing page by EOD") or feature parity with competitors (e.g., "Support multi-channel notifications for enterprise clients").
  • Use Cases:
    • Customer Support: Plug-and-play form for support@domain.com with optional ticket persistence (e.g., ContactRequest model).
    • Lead Generation: Configurable fields (e.g., company, budget_range) mapped to CRM models (e.g., Lead).
    • Compliance: Webhook integration to log submissions to third-party systems (e.g., Salesforce, HubSpot) without custom middleware.
    • Localization: Multi-language support via translation keys (e.g., contactable::fields.name.label).
    • A/B Testing: Dynamic button text (submit_button_text) and success messages for experimentation.
  • Tech Stack Synergy: Leverages Laravel/Livewire ecosystem to avoid frontend framework lock-in (e.g., React/Vue) while maintaining server-side rendering benefits.

When to Consider This Package

  • Look Elsewhere If:
    • Complex Validation Logic: Requires custom validation beyond Laravel’s built-in rules (e.g., dynamic rules based on user roles). Alternative: Build a custom Livewire component or use Laravel Form Requests.
    • Advanced UI Customization: Need drag-and-drop form builders, conditional fields, or rich text editors. Alternative: Use FormKit or Alpine.js with Laravel.
    • Non-Laravel Stack: Using Symfony, Django, or a headless CMS. Alternative: Evaluate Formspree or FormSubmit.
    • High-Volume Forms: Expecting >10K submissions/month without persistence (risk of performance bottlenecks). Alternative: Offload to a queue (e.g., Laravel Horizon) or use a dedicated service like Postmark.
    • Existing Livewire Monorepo: Prefer in-house style guides or theming systems. Alternative: Fork and customize.
  • Re-evaluate If:
    • Package lacks active maintenance (0 stars/changelog) or PHP 8.2/Laravel 12 compatibility breaks after 6 months.
    • Security concerns: No clear audit trail or dependency checks (e.g., sensio/framework-extra-bundle vulnerabilities). Mitigation: Review composer.json and run composer audit.

How to Pitch It (Stakeholders)

For Executives (1 Paragraph)

"This package lets us deploy a fully configurable, multi-channel contact form in hours—not weeks—while cutting dev costs by reusing battle-tested Laravel/Livewire code. It supports our priority to scale customer support (e.g., webhook integrations for Salesforce) and localize for global markets (translation keys) without sacrificing security or performance. For example, we can A/B test form CTAs or log submissions to our CRM without writing custom backend logic. The MIT license and Laravel ecosystem alignment make it a low-risk, high-reward choice for our [roadmap item: Improve lead capture conversion by 15% Q3].

Ask: ‘Should we allocate 2 dev hours to integrate this vs. building from scratch?’"


For Engineering (Bullet Points)

  • Pros:
    • Speed: Drop-in replacement for vanilla Livewire forms; reduces boilerplate by ~70% (no need to rewrite validation, notifications, or persistence logic).
    • Extensibility:
      • Plug into existing Eloquent models (e.g., ContactRequest) or disable persistence entirely.
      • Add custom notify channels (e.g., Slack, SMS via Twilio) by implementing Labrodev\Contactable\Contracts\NotifyChannel.
    • Localization: Built-in translation support for labels, messages, and buttons (uses Laravel’s __()).
    • Livewire Native: No frontend framework dependencies; works seamlessly with Laravel’s Livewire ecosystem.
    • Config-Driven: Adjust fields, validation, and notifications via config/contactable.php (no code changes).
  • Cons/Risks:
    • Maturity: 0 stars/changelog → validate with a spike (e.g., test edge cases like file uploads or nested arrays).
    • Customization Limits: Heavy UI tweaks may require overriding views (e.g., resources/views/vendor/contactable/form.blade.php).
  • Recommendation:
    • Start Small: Use for a low-risk form (e.g., "Contact Us" page) to test performance and configuration.
    • Fallback Plan: If gaps emerge (e.g., missing field types), fork the repo or build a wrapper component.
    • Tech Debt: Monitor for Laravel 12/Livewire 4 updates; consider contributing fixes if adopted.

Ask: ‘Can we prototype this for the support form by [date] and compare it to our current [custom solution]?’"

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
make-dev/orca
dmstr/symfony-system-resources-bundle
dmstr/symfony-job-queue-bundle
dmstr/openapi-json-schema-bundle
dmstr/keycloak-security-bundle
dmstr/doctrine-audit-log-bundle
dmstr/api-platform-utils-bundle
dmstr/api-configuration-bundle
chrisdev/ux-components
baks-dev/finances
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle