PHPackages                             bahdan/lead-capture-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. bahdan/lead-capture-bundle

ActiveSymfony-bundle

bahdan/lead-capture-bundle
==========================

Lead and contact request capture bundle with dual Doctrine and JSONL storage

v1.1.0(today)028↑2685.7%MITPHPPHP &gt;=8.3CI passing

Since Aug 24Pushed todayCompare

[ Source](https://github.com/bahdanhal/lead-capture-bundle)[ Packagist](https://packagist.org/packages/bahdan/lead-capture-bundle)[ RSS](/packages/bahdan-lead-capture-bundle/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (7)Versions (5)Used By (0)

Lead Capture Bundle
===================

[](#lead-capture-bundle)

Lead ingestion and contact request processing bundle for Symfony applications with dual Doctrine ORM and JSONL storage backends.

[Packagist](https://packagist.org/packages/bahdan/lead-capture-bundle) · [GitHub](https://github.com/bahdanhal/lead-capture-bundle)

Features
--------

[](#features)

- **Domain Model**: Strictly validated `Lead` domain value object (email/phone normalization, content size guarding, HMAC-hashed IP tracking).
- **Dual Persistence**: Production Doctrine ORM entity mapping and fallback append-only JSONL storage.
- **Application Services**: `CaptureLead` orchestration use-case.
- **Integration Hook**: Dispatches `LeadCaptured` after persistence so applications can notify email, Slack, Telegram, a CRM, or a webhook without coupling those transports to the bundle.
- **Portable Doctrine Storage**: Attribute mappings are registered automatically and date values use DBAL types across PostgreSQL, MySQL/MariaDB, and SQLite.
- **Bounded JSONL Reads**: Limited admin queries read newest records from disk without loading an entire monthly partition.

Installation
------------

[](#installation)

```
composer require bahdan/lead-capture-bundle
```

Doctrine is optional. Install it only when selecting the Doctrine storage backend:

```
composer require doctrine/orm doctrine/dbal
```

The JSONL backend does not register or resolve Doctrine services.

When Doctrine storage is selected, the bundle registers its entity mapping automatically. Your application still owns schema migrations; generate and review a migration after enabling the bundle.

Notifications and webhooks
--------------------------

[](#notifications-and-webhooks)

Listen for `Bahdan\LeadCaptureBundle\Event\LeadCaptured` with a regular Symfony event listener. The event contains the validated `Lead`; the listener can hand it to Messenger for asynchronous email, chat, CRM, or webhook delivery.

```
use Bahdan\LeadCaptureBundle\Event\LeadCaptured;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;

#[AsEventListener]
final class NotifyAboutLead
{
    public function __invoke(LeadCaptured $event): void
    {
        // Dispatch an application-specific notification or Messenger message.
    }
}
```

Configuration
-------------

[](#configuration)

Register the bundle in `config/bundles.php`:

```
return [
    // ...
    Bahdan\LeadCaptureBundle\LeadCaptureBundle::class => ['all' => true],
];
```

License
-------

[](#license)

MIT

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance100

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

0d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3841889?v=4)[bhal](/maintainers/bhal)[@Bhal](https://github.com/Bhal)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bahdan-lead-capture-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/bahdan-lead-capture-bundle/health.svg)](https://phpackages.com/packages/bahdan-lead-capture-bundle)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
