PHPackages                             bhhaskin/pulse-laravel - 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. [API Development](/categories/api)
4. /
5. bhhaskin/pulse-laravel

ActiveLibrary[API Development](/categories/api)

bhhaskin/pulse-laravel
======================

Laravel integration package that exposes Pulse JS API endpoints.

0.1.3(6mo ago)027MITPHPPHP ^8.1

Since Oct 16Pushed 6mo agoCompare

[ Source](https://github.com/bhhaskin/pulse-laravel)[ Packagist](https://packagist.org/packages/bhhaskin/pulse-laravel)[ RSS](/packages/bhhaskin-pulse-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (3)Versions (4)Used By (0)

Pulse Laravel
=============

[](#pulse-laravel)

`bhhaskin/pulse-laravel` provides a lightweight Laravel package that exposes API endpoints consumed by **Pulse JS**. It offers a drop-in route group with sensible defaults and can be extended to surface real-time metrics or diagnostic data for frontend dashboards.

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

[](#installation)

```
composer require bhhaskin/pulse-laravel
```

The package is auto-discovered by Laravel so no manual service provider registration is required.

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

[](#configuration)

Publish the configuration file to customize the route prefix or middleware stack applied to the beacon endpoint:

```
php artisan vendor:publish --tag=pulse-config
```

Key options inside `config/pulse.php`:

- `prefix`: URL segment that prefixes all Pulse routes. Defaults to `pulse`.
- `middleware`: Middleware applied to the Pulse route group. Defaults to the `api` stack.

Routes
------

[](#routes)

Once installed the package registers the `/pulse` endpoint (unless you change the prefix) which is designed to be triggered via `navigator.sendBeacon`. The included controller currently acknowledges requests with an empty `204 No Content` response, giving you a clean slate to hook into data sinks or job dispatching as Pulse evolves.

Data Flow
---------

[](#data-flow)

- Incoming batches are captured once in the `pulse_raw_batches` table; the batch processor validates each event and immediately materializes reporting records.
- The processor keeps the downstream tables in sync:
    - `pulse_clients` keeps per-client aggregates.
    - `pulse_sessions` ties events back to a client session.
    - `pulse_devices` stores the first-party device fingerprint details (category, OS, viewport, capabilities, browser name/version, etc.) alongside the associated user agent.
    - `pulse_events` holds query-friendly event records and keeps the original `payload` blob intact so you can enrich analytics with any custom fields Pulse JS sends along.
- Incoming events are validated before persistence; malformed records are skipped so downstream tables stay clean.
- The package auto-loads its migrations; publish them via `php artisan vendor:publish --tag=pulse-migrations` if you need to override the schema.

Because the processing job implements `ShouldQueue`, make sure your queue worker is running in production, or set `QUEUE_CONNECTION=sync` if you prefer in-process execution.

Factories &amp; Seeders
-----------------------

[](#factories--seeders)

- Publish the package factories with `php artisan vendor:publish --tag=pulse-factories` and seeders with `php artisan vendor:publish --tag=pulse-seeders` if you want to customise or extend them inside your application.
- You can quickly generate demo data by running the included seeder: `php artisan db:seed --class="\Bhhaskin\Pulse\Database\Seeders\PulseDatabaseSeeder"`.
- When writing package-aware tests, the model factories are auto-loaded so you can use helpers like `PulseClient::factory()` out of the box.

Testing
-------

[](#testing)

Run the test suite locally with:

```
composer test
```

The tests rely on [`orchestra/testbench`](https://github.com/orchestral/testbench) to bootstrap a lightweight Laravel application context for package development.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance66

Regular maintenance activity

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

3

Last Release

207d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ec33fc092098e1dd582f55e8d1c82c6ebe2b472302f909f82d70235c7c665ff8?d=identicon)[bhhaskin](/maintainers/bhhaskin)

---

Top Contributors

[![bhhaskin](https://avatars.githubusercontent.com/u/4709778?v=4)](https://github.com/bhhaskin "bhhaskin (11 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bhhaskin-pulse-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/bhhaskin-pulse-laravel/health.svg)](https://phpackages.com/packages/bhhaskin-pulse-laravel)
```

###  Alternatives

[mollie/laravel-mollie

Mollie API client wrapper for Laravel &amp; Mollie Connect provider for Laravel Socialite

3624.1M28](/packages/mollie-laravel-mollie)[mll-lab/laravel-graphiql

Easily integrate GraphiQL into your Laravel project

683.2M9](/packages/mll-lab-laravel-graphiql)[spatie/laravel-route-discovery

Auto register routes using PHP attributes

23645.0k2](/packages/spatie-laravel-route-discovery)[esign/laravel-conversions-api

A laravel wrapper package around the Facebook Conversions API

69145.4k](/packages/esign-laravel-conversions-api)[didww/didww-api-3-php-sdk

PHP SDK for DIDWW API 3

1218.2k](/packages/didww-didww-api-3-php-sdk)[surface/laravel-webfinger

A Laravel package to create an ActivityPub webfinger.

113.8k](/packages/surface-laravel-webfinger)

PHPackages © 2026

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