PHPackages                             a2zwebltd/brandgeo-laravel-nova - 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. [Admin Panels](/categories/admin)
4. /
5. a2zwebltd/brandgeo-laravel-nova

ActiveLibrary[Admin Panels](/categories/admin)

a2zwebltd/brandgeo-laravel-nova
===============================

BrandGEO client dashboard for Laravel Nova — AI brand visibility data (brands, audits, monitoring) rendered inside your Nova admin, keyed by your BrandGEO API key.

v1.0.5(yesterday)010↑2600%MITPHP ^8.2

Since Jul 22Compare

[ Source](https://github.com/a2zwebltd/brandgeo-laravel-nova)[ Packagist](https://packagist.org/packages/a2zwebltd/brandgeo-laravel-nova)[ Docs](https://github.com/a2zwebltd/brandgeo-laravel-nova)[ RSS](/packages/a2zwebltd-brandgeo-laravel-nova/feed)WikiDiscussions Synced today

READMEChangelog (7)Dependencies (3)Versions (6)Used By (0)

BrandGEO for Laravel Nova
=========================

[](#brandgeo-for-laravel-nova)

[![Packagist Version](https://camo.githubusercontent.com/2c3b2f5adda9539be66c85243fd0c62552283e3737dd514179daed37d9187fa5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61327a7765626c74642f6272616e6467656f2d6c61726176656c2d6e6f76612e737667)](https://packagist.org/packages/a2zwebltd/brandgeo-laravel-nova)[![Downloads](https://camo.githubusercontent.com/9abde6106ca0b2f0deff217b6b6aae0ccf2236921656ec1b08b9f9118de7f9bc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f61327a7765626c74642f6272616e6467656f2d6c61726176656c2d6e6f76612e737667)](https://packagist.org/packages/a2zwebltd/brandgeo-laravel-nova)[![PHP](https://camo.githubusercontent.com/b5d4f7901c58ad1ddfff679966f426cc25a9354bab763846b9a7276c2feab4e0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e322d626c7565)](https://camo.githubusercontent.com/b5d4f7901c58ad1ddfff679966f426cc25a9354bab763846b9a7276c2feab4e0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e322d626c7565)[![Laravel](https://camo.githubusercontent.com/10e97e515dc22be3660c357cbb7b33a51a586f88f0095412c7ec2f635c7b704c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d3131253230253743253230313225323025374325323031332d626c7565)](https://camo.githubusercontent.com/10e97e515dc22be3660c357cbb7b33a51a586f88f0095412c7ec2f635c7b704c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d3131253230253743253230313225323025374325323031332d626c7565)

A fully branded [BrandGEO](https://brandgeo.co) client dashboard inside your Laravel Nova admin: account &amp; subscription status, brands with AI visibility scores, per-engine audit drill-downs, monitoring KPIs, share of voice, citations and trends — everything your BrandGEO API key can see, shaped by the account's plan (trial accounts see locked engines and preview recommendations, exactly like the BrandGEO app).

Built on [`a2zwebltd/brandgeo-laravel-client`](https://github.com/a2zwebltd/brandgeo-laravel-client).

Screenshot
----------

[](#screenshot)

[![BrandGEO dashboard embedded in Laravel Nova](https://raw.githubusercontent.com/a2zwebltd/brandgeo-laravel-nova/refs/heads/main/img/brandgeo-laravel-nova-screenshot.png)](https://raw.githubusercontent.com/a2zwebltd/brandgeo-laravel-nova/refs/heads/main/img/brandgeo-laravel-nova-screenshot.png)

Features
--------

[](#features)

- **Embedded in the Nova SPA** — a real Nova tool page at `/nova/brandgeo` sharing Nova's menu and chrome (no JS build step; the iframe auto-resizes, no scrollbars). A standalone page at `/brandgeo-dashboard` is also available.
- **Brand-centric dashboard** — a default brand (auto-selected for single-brand accounts, persisted to `.env`) with a header switcher; per-brand view with monitoring first, then the latest audit.
- **Monitoring** — KPI row, SVG visibility-trend chart, share of voice, competitor table, top cited sources, prompt-category insights, custom queries and recent AI answers with expandable responses.
- **Audit drill-down** — engines grouped by mode (Online · Web Search first, then Offline · Trained), each expanding into key findings, analysis, the six visibility dimensions with confidence levels, and web sources.
- **Scores that explain themselves** — every score reads as `X/100` with a plain-language band (Low · Weak · Fair · Strong · Excellent), an always-visible 0–100 scale bar, and the same Offline-Trained vs Online-Web-Search explainer the BrandGEO app shows, including how to read the web−trained gap.
- **Follows Nova's theme** — light and dark, switched live with Nova's own toggle (no reload) and resolved before first paint, so the panel never flashes the wrong scheme.
- **API key onboarding** — when `BRANDGEO_API_KEY` is missing, a branded form validates the key against the live API and writes it to the host `.env`; the page fully reloads with the new data.
- **Plan-aware** — trial keys render locked-engine stubs and preview action plans; expired trials surface the 402 paywall state; deep links open the full BrandGEO dashboard.

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 11 / 12 / 13
- Laravel Nova ^5.0
- A BrandGEO account ([brandgeo.co](https://brandgeo.co)) — the built-in form will ask for your API key on first run

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

[](#installation)

```
composer require a2zwebltd/brandgeo-laravel-nova
```

Register the tool in your `NovaServiceProvider`:

```
use A2ZWeb\BrandGeoNova\BrandGeoNovaTool;

public function tools(): array
{
    return [
        new BrandGeoNovaTool,
        // ...
    ];
}
```

If your app customizes `Nova::mainMenu()`, add the menu section yourself:

```
use A2ZWeb\BrandGeoNova\BrandGeoNova;

Nova::mainMenu(fn () => [
    // ...your sections...
    BrandGeoNova::menuSection(),
]);
```

That's it — open **BrandGEO** in the Nova sidebar. If no API key is configured yet, the onboarding form appears; the submitted key is validated against the live BrandGEO API before being saved to `.env`.

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

[](#configuration)

```
php artisan vendor:publish --tag=brandgeo-nova-config
```

KeyDefaultDescription`path``brandgeo-dashboard`URL of the standalone dashboard (also loaded in the Nova iframe)`middleware``['web', Nova Authenticate]`Only Nova-authorized users can access it`default_brand``env('BRANDGEO_DEFAULT_BRAND')`Brand uuid opened by default ("Set as default" writes it)`cache_ttl``3600`Seconds to cache API responses — override via `BRANDGEO_NOVA_CACHE_TTL` (the "Refresh data" button bypasses it)`app_url`derived from client `base_url`Base for "Open in BrandGEO" deep linksClient settings (base URL, timeouts, TLS verify) come from [`brandgeo-laravel-client`](https://github.com/a2zwebltd/brandgeo-laravel-client) — see `BRANDGEO_BASE_URL`, `BRANDGEO_API_KEY`, `BRANDGEO_VERIFY_SSL`.

> Running `config:cache`? Re-run it after saving a key or default brand — the forms write `.env`, which cached configs ignore.

BrandGEO API resources
----------------------

[](#brandgeo-api-resources)

- [BrandGEO](https://brandgeo.co) — AI brand visibility audits &amp; monitoring
- [API documentation](https://brandgeo.co/developers) — endpoints, auth, plan access, FAQ
- [Interactive API playground](https://brandgeo.co/developers/playground) — try every endpoint in the browser
- [OpenAPI 3.1 spec (YAML)](https://brandgeo.co/developers/openapi.yaml) — machine-readable contract
- [Get your API key](https://brandgeo.co/settings/api) — Settings → API in your dashboard

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

If you discover any security related issues, please email  instead of using the issue tracker.

License
-------

[](#license)

MIT. See [LICENSE](LICENSE.md).

Credits
-------

[](#credits)

Developed and maintained by the **A2Z WEB** crew:

- [Dawid Makowski](https://github.com/makowskid)
- Website:
- GitHub:

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance100

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity49

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

5

Last Release

1d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2b500dd3d9b470b50b1ed911cd24a6fdcce51dd97dceb4f97879f727a14495a8?d=identicon)[dawid-makowski](/maintainers/dawid-makowski)

---

Tags

laraveldashboardgeonovaai visibilitybrand monitoringbrandgeo

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/a2zwebltd-brandgeo-laravel-nova/health.svg)

```
[![Health](https://phpackages.com/badges/a2zwebltd-brandgeo-laravel-nova/health.svg)](https://phpackages.com/packages/a2zwebltd-brandgeo-laravel-nova)
```

###  Alternatives

[dcat-plus/laravel-admin

dcat-plus admin

1474.1k10](/packages/dcat-plus-laravel-admin)[digital-creative/nova-dashboard

The missing dashboard for nova.

7171.8k1](/packages/digital-creative-nova-dashboard)

PHPackages © 2026

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