Looking to hire Laravel developers? Try LaraJobs

brandgeo-laravel-nova maintained by a2zwebltd

Description
BrandGEO client dashboard for Laravel Nova — AI brand visibility data (brands, audits, monitoring) rendered inside your Nova admin, keyed by your BrandGEO API key.
Last update
2026/07/23 09:47 (dev-main)
License
Downloads
16

Comments
comments powered by Disqus

BrandGEO for Laravel Nova

Packagist Version Downloads PHP Laravel

A fully branded BrandGEO client dashboard inside your Laravel Nova admin: account & 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.

Screenshot

BrandGEO dashboard embedded in Laravel Nova

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.
  • 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

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

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

php artisan vendor:publish --tag=brandgeo-nova-config
Key Default Description
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 links

Client settings (base URL, timeouts, TLS verify) come from 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

Security Vulnerabilities

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

License

MIT. See LICENSE.

Credits

Developed and maintained by the A2Z WEB crew: