nova-bi/nova-databoards
Nova Databoards lets you create customizable dashboards inside Laravel Nova, combining metrics, charts, and data cards into flexible boards for at-a-glance insights. Configure boards and widgets quickly using familiar Nova resources. Ideal for admin panels and internal reporting with minimal setup.
Architecture fit. nova-bi/nova-databoards is a Laravel Nova tool that mounts a bespoke dashboard-builder UI (Vue components) over an Eloquent-backed metric aggregation layer. Architecturally it only fits a narrow shape: a server-rendered Laravel monolith on Nova 2.x/3.x where analytics are already expressed as Eloquent queries against the primary application database. It does not fit headless/Inertia/Livewire-first stacks, multi-tenant SaaS with strict row-level isolation, or teams standardizing on an external warehouse (BigQuery, Snowflake, Postgres read replica) as the analytics source of truth. Treat it as a reference implementation of "dashboards inside the admin panel," not as a platform component.
Integration feasibility. Low without a fork. The archive date (2020-07) places it in the Laravel 6/7 and Nova 2/3 era; its Composer constraints will not resolve against Laravel 9+/Nova 4+, and Nova 4's tool registration and Vue 3 migration will break the front-end tooling. There are no upstream maintainers to accept a PR, so any integration work is a permanent private fork. Realistic effort for a viable PoC: 1–2 engineer-weeks (dependency patching, Nova API migration, one representative dashboard end-to-end).
Technical risk. High.
Key questions for the team.
Stack fit. Compatible only with: PHP 7.2–7.4, Laravel 6.x/7.x, Nova 2.x/3.x, MySQL/Postgres primary. Incompatible in practice with PHP 8.1+, Laravel 9+, Nova 4+, and any environment enforcing composer audit or SBOM gates. If the estate has already moved past Laravel 8, this is a no-adopt for anything beyond reading the source.
Migration path. Three options, in order of preference:
Compatibility validation sequence (2–3 day spike, before any commitment):
composer why-not against the target Laravel/Nova versions; record the exact conflict set.Sequencing. (1) Requirements audit — confirm no existing BI tool already covers the need. (2) Spike above; produce a go/no-go memo with measured latency and conflict list. (3) If go: fork, patch, security review, staging deployment behind a feature flag. (4) Production rollout limited to internal staff only. (5) Set an explicit sunset/replace-by date at adoption time.
Maintenance. This is the dominant cost and it is entirely yours. There is no upstream. Budget: dependency/security patching on a quarterly cadence, a forced re-evaluation at every Laravel or Nova major, and unplanned breakage from PHP minor upgrades. A defensible rule is that the fork must never be more than one framework major behind — which, given the 2020 codebase, is already violated at adoption.
Support. No vendor, no maintainer, 21 stars and archived means no meaningful community to escalate to. Internal support means an engineer who has read the source becomes the sole knowledge holder — a bus-factor-1 risk. Document the metric DSL and query path as a hard prerequisite to production.
Scaling. Watch three axes:
COUNT/SUM over unindexed or growing tables, latency degrades silently over months. Add query-time budgets and alerting.Failure modes to instrument for.
Ramp-up. For a Laravel developer already fluent in Nova: 2–4 days to be productive, plus 1 week to become the internal owner. For anyone else: substantial, because the metric/query model is undocumented and must be reverse-engineered from source. Add a half-day of onboarding for the security review findings and the read-replica query path.
TPM recommendation. Score 1.80 with the package archived since 2020 makes this a reference-only asset. Approve a 2–3 day evaluation spike to harvest patterns and confirm no existing BI tool covers the requirement. Do not approve production integration unless the estate is genuinely pinned to Nova 3 / Laravel 7 with a funded migration already scheduled — in which case the fork is a stopgap with a named owner and a hard sunset date, not a platform decision.
How can I help you explore Laravel packages today?