Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Nova List Card Laravel Package

thijssimonis/nova-list-card

A Laravel Nova card that displays records from any model as a clean, configurable list on your dashboard. Show recent items, top entries, or filtered results with customizable columns, sorting, and resource links—ideal for quick at-a-glance overviews without custom code.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

A buy-vs-build call, not a vendor decision. With 7 stars, zero dependents, and an archived repository, thijssimonis/nova-list-card is not a dependency to adopt — it is a reference implementation worth roughly 1–3 developer-days. The decision it informs is "do we staff a short internal dashboard spike, or defer the ops-visibility surface entirely." Frame it that way in planning docs so nobody mistakes it for a supported component of the stack.

Scoping the v1 internal admin dashboard. The concrete decision this unlocks is whether the Nova home screen ships with a handful of at-a-glance list cards — latest signups, open tickets, failed jobs, top accounts — or whether that surface waits behind a custom build. It is the tabular sibling of a metric card: read-only, small-N (5–20 rows), fixed columns, no interaction. Approving it means approving a presentation layer for queries we already have, not a new capability.

Choosing the right primitive before anyone writes code. It forces an early, cheap decision about surface area. If the requirement includes sorting, filtering, search, pagination, export, or drill-down, the answer is no — that is a Nova resource index page or a maintained data-grid package. Making that call up front prevents the classic "we'll just extend the card" trap that quietly turns a one-day card into a two-sprint grid.

Placing it on the roadmap. It matters only inside a Nova-committed shop. It accelerates the internal admin-tooling workstream and has near-zero bearing on the customer-facing roadmap. Score it as an internal velocity lever, never as a differentiator or a "reporting" capability.

Budgeting ownership, not just integration. Adoption forces a named owner and a recurring maintenance allowance — a few hours per Nova major plus asset rebuilds. That is a resourcing decision a PM owns and should appear in planning, not surface later as unplanned work.

Reading the deprioritization signal correctly. Archived status, single-digit stars, zero dependents, and a low opportunity score all point the same direction. Default position: treat as a code sample to learn from, not a component of the stack. Anything that reverses that default needs a written justification and a fork owner.

When to Consider This Package

Consider it when:

  • You are an already-licensed, standardized Laravel Nova shop. The package is completely inert outside Nova — Nova should never be acquired because of this package.
  • You need a simple, read-only table card on a Nova dashboard and are content to own the query, column definitions, and row scoping yourself.
  • Your team will vendor or fork the source into an internal namespace and commit the compiled assets. Given archived status, that is the only responsible integration mode; adding it from Packagist and leaving an unmaintained transitive reference in the lockfile is the wrong default.
  • The audience is internal and small, and your dependency policy tolerates unmaintained code in admin-only surfaces with low write-path exposure.
  • You want a working reference for Nova card anatomy — PHP Card subclass, Vue component, cards() registration — to shortcut the learning curve on your first custom card.

Look elsewhere when:

  • You are not on Nova. Use a Blade/Livewire dashboard, Filament, or plain views.
  • You need sorting, filtering, pagination, search, export, or drill-down. Use Nova resource index pages or a maintained data-grid package.
  • You need charts or trend visualization. Use Nova's native metric/chart cards or an ApexCharts-based package.
  • You need a maintained dependency: a security-response path, a PHP major bump, or a planned Nova 4/5 upgrade. Archived means you own the upgrade path, and Nova 4's Vite-era frontend toolchain will likely require rewriting the Vue component.
  • Row-level authorization or multi-tenancy matters. Assume the card renders whatever rows you hand it; scoping and permission checks are entirely yours.
  • The honest build estimate is already under a week. Fifty to 150 lines against Nova's own Card base class is the realistic in-house equivalent — dependency cost then exceeds build cost.

Gate before any real wiring: confirm which Nova major composer.json targets, whether compiled assets ship in-repo, whether the payload is server-injected via withMeta() or fetched from the cards/{card} endpoint, and whether cells render with v-html. Those four answers decide whether this is a ten-minute win or an afternoon of frontend plumbing. Timebox the spike to one day.

How to Pitch It (Stakeholders)

For executives (30 seconds). This is a small, free, MIT-licensed add-on for our internal admin dashboard. It displays short record lists — recent orders, open tickets, top customers — as table cards, and it saves roughly one to three developer-days of dashboard plumbing. The catch is that it is no longer maintained, so we would copy the code into our own repository rather than depend on it. That caps the risk at "we maintain a small piece of UI code we would have written anyway," and it stays entirely off customer-facing surfaces. Recommendation: a one-day evaluation spike inside the admin-tooling workstream — not a roadmap commitment, and not a line item anyone should defend at a quarterly review.

For engineering. A Nova card package: one PHP Card subclass, one Vue component, compiled assets. No migrations, no persistence, no events, no meaningful transitive dependency chain. The integration surface is auditable in under an hour; the exit path is deleting a single registration line. Archived status means the code is frozen — no supply-chain churn, but also no fixes, no Nova 4/5 compatibility work, no Vue 3/Vite migration, no security-response path.

Integration plan if it survives the audit: fork into an internal namespace (e.g. App\Nova\Cards\ListCard), commit compiled assets, pin to the current Nova major, cap rows at 5–10 with limit(), add a short-TTL cache around the query, eager-load anything resolved across relationships, ship behind a feature flag on one non-critical dashboard, and record the fork owner plus a retirement trigger — folding into an in-house class at the next Nova major rather than patching the fork indefinitely. Two non-negotiables before it touches a real dashboard: apply tenant/permission scoping at the query (the card will not consult a Nova policy) and confirm cells are escaped rather than rendered with v-html, since user-editable model content in a v-html cell is a stored-XSS vector with admin privileges behind it.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core