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

Dashboard Bundle Laravel Package

kalamu/dashboard-bundle

Kalamu Dashboard Bundle is a Laravel package for adding a ready-made admin dashboard to your app, with configurable pages, widgets, and management screens that help you scaffold back-office UI faster while keeping the implementation in PHP.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — framework mismatch is now confirmed, not inferred. The v2.0.0 notes are explicit: "Upgrade the compatibility with Symfony 4 and drop support of Symfony 2.*" There is no mention of Laravel, service providers, Blade, or extra.laravel — only Symfony majors and Twig-rendered Bootstrap markup. This package is a Symfony bundle for the Kalamu CMS. Architecture fit against a Laravel codebase remains poor-to-nonexistent without a rewrite. The release does, however, settle the single open question that mattered most (question 1 below), which shortens the evaluation.

Integration feasibility — unchanged in method, worse in ceiling. The prior assessment hedged "Symfony 4/5, Bootstrap 4." The release note removes the hedge: Symfony 4 is the top of the supported range, and Bootstrap 4 is the explicit target. Concretely:

  • No Composer discovery for Laravel; a hand-written service provider shim would still be required, and there is still no PHP domain logic to shim — value sits in Twig templates and a config schema.
  • Symfony 4.4 reached end-of-life in November 2023. Any consumer must therefore run on an EOL framework branch (PHP 7.x–8.0 era constraints) to use this bundle as intended. That is a stricter constraint than "abandoned since 2020" — it is abandoned and pinned to a dead platform.
  • Bootstrap 4 still requires jQuery for its JS components. Any consuming frontend on BS5/Tailwind inherits a parallel legacy asset pipeline, not just a styling delta.
  • The version bump is a breaking change with zero feature content: its entire purpose is raising the framework floor. That is a maintenance-only signal, and it tells us the project's release cadence is floor-raising, years late, with no security-fix language.

Technical risk — high, and marginally higher than the previous pass.

Risk Assessment Δ from prior review
Abandonment Last release 2020-03-27; ~5+ years dormant. No security patching. Unchanged
Adoption 3 stars, 0 dependents — no production signal, no community corpus. Unchanged
Viability score 0.075 (composite). Unchanged
Framework ceiling Symfony ≤4 only; Symfony 4.4 EOL Nov 2023. Cannot coexist with Symfony 5.4/6/7 constraints. New / worse
Frontend ceiling Bootstrap 4 + jQuery explicitly targeted; BS4 is legacy-maintenance. Sharpened
Upgrade velocity Adding Symfony 4 support was the latest release — the project is two Symfony majors behind even after its most recent work. Expect Symfony 5/6 support (if ever) years late. New
Security surface Admin dashboard is auth-adjacent; unaudited authorization and XSS exposure in the highest-privilege surface, now on an unpatched framework branch. Unchanged, compounded
Bus factor 1. Unchanged

One caveat worth flagging: these notes carry no dates or links, and if v2.0.0 is the 2020-03-27 release surfacing through the feed rather than a genuinely new tag, then nothing has changed materially. Either reading lands in the same place — Symfony 4 / Bootstrap 4 ceiling, single maintainer, no security posture — so the recommendation is robust to that ambiguity. Do not spend cycles resolving it.

Key questions (revised — the framework question is now closed):

  1. Is the target application Laravel or Symfony? Resolved: Symfony, and specifically ≤4.x. Only defensible if a legacy Symfony 4.4 app exists in the estate — confirm that before anything else.
  2. If a Symfony 4.4 app does exist: is it itself on a funded EOL-extension plan, or is it a decommission candidate? Putting an unmaintained admin UI on a decommission candidate is pure waste.
  3. What is the deliverable — a working admin dashboard, or a design reference for one? (Weeks vs. a sprint.)
  4. Is there a hard requirement (existing Kalamu deployment, vendor mandate) forcing this package, or was it surfaced by a package-scoring heuristic?
  5. Who owns the fork, and what is the security review budget for unaudited admin-surface code on an EOL framework?

Recommendation: unchanged — do not adopt as a dependency. The v2.0.0 notes strengthen the case against adoption by replacing an inferred compatibility ceiling with a confirmed, already-expired one. The residual value is still the configuration-driven dashboard pattern, not the code. Treat it as a one-hour reference read, then build natively. Feed one item back to whoever owns package scoring: framework family and supported-major ceiling should be first-class filters, and EOL framework floors should hard-fail a candidate.

Integration Approach

Stack fit. For a Laravel target: still no fit — Symfony bundle to Laravel container is a translation project, and the confirmed Symfony 4 ceiling makes the translatable surface smaller (Symfony 2-era constructs may persist in config wiring even after the bump). For a Symfony target: fit exists only on Symfony 4.4, which is EOL. A modern Symfony 5.4/6/7 app cannot install this without a fork-and-port, which is the same work as writing it. Either way, expect Composer solver conflicts before the first line of code.

Migration path (recommended: pattern port, not package install).

  1. Extract the spec, not the code. Read the bundle's config schema and template structure; document the widget/panel registration contract as an internal design note — a DashboardRegistry with named slots, per-widget config array, route + permission gate.
  2. Rebuild natively. Laravel: a DashboardServiceProvider registering a DashboardManager singleton, Blade components per widget type, config in config/dashboard.php mirroring the original's shape. Symfony: a small DashboardBundle on the current Symfony major with modern Bootstrap/Tailwind. Roughly 3–5 engineer-days either way.
  3. Reuse visuals only where cheap. Port markup at wireframe fidelity; do not port BS4/jQuery assets into a BS5 or Tailwind app.
  4. Never take an upstream dependency here. If a legacy Symfony 4.4 install is genuinely required, fork to acme/dashboard-bundle, keep it pinned, add CI, and own it.

Compatibility — now pin the verification. Assume and confirm: Symfony ≤4.x only (no 5.4/6/7), Twig 2/3, Bootstrap 4 + jQuery, PHP 7.x–8.0-era constraints inherited from Symfony 4.4. Run composer why-not symfony/framework-bundle 5.4 (and 6.x/7.x) plus a static-analysis pass before committing even to the reference read, so the effort estimate is grounded rather than assumed.

Sequencing.

  1. (0.5d) Confirm whether a Symfony 4.4 (or earlier) application actually exists in the estate. If not, stop — the package is unusable by construction and the build proceeds from first principles.
  2. (0.5d) 60-minute source read; document the widget/config contract as an internal spec.
  3. (1d) Native scaffold: registry, provider/bundle, base layout, one reference widget.
  4. (2–3d) Port remaining widget types and permission gating.
  5. (1d) Tests for widget registration and access control.

Total: roughly one engineer-week, versus an open-ended liability plus an EOL-framework dependency if adopted directly. That delta is the recommendation.

Decision gate: if step 1 finds no Symfony 4.4 host, or step 2 finds hard coupling to Kalamu internals with no separable config contract, terminate — value is zero and the dashboard should be designed from first principles.

Operational Impact

Maintenance. Adoption means owning a fork from day one and inheriting a dependency on an EOL framework branch. There is no upstream to receive fixes from and no version to track. Every PHP major, every Symfony major, every Bootstrap major, every Twig release is ours — in the most privileged surface of the application. The v2.0.0 release is instructive: the project's most recent engineering output was raising its Symfony floor, and it still landed two majors behind. A native rebuild converts that unbounded, framework-tracking cost into a bounded, self-authored codebase under our own conventions.

Support. No vendor, no SLA, no maintainer responsiveness expectation. Three stars and zero dependents means no external knowledge base: any bug is first-principles debugging with no prior art, and no Stack Overflow corpus to search. Internal support burden rests entirely on whichever engineer read the source — a bus factor of one inherited from upstream, now compounded by the fact that the surrounding framework is also unsupported.

Scaling. Runtime scaling impact remains negligible — dashboard rendering is request-scoped and cacheable, with no data-plane logic to bottleneck. The scaling constraint is organizational: how many dashboards, widget types, and permission permutations can one bespoke fork absorb before it needs the refactor a maintained library would have supplied? With zero dependents, there is no evidence anyone has stress-tested that boundary — and the BS4/jQuery asset pipeline is a second, silent ceiling on frontend modernisation.

Failure modes to plan for.

  • Composer solver deadlock on any dependency bump — now near-certain, since the bundle forces symfony/framework-bundle ≤4.x alongside an EOL PHP constraint. Most likely first failure, and slow to diagnose.
  • Silent authorization gaps in widget visibility — unaudited admin-surface code; we cannot distinguish "no CVE" from "nobody looked," and no one is looking on an EOL branch.
  • Frontend upgrade cliff — a routine BS5/modern-bundler migration triggers open-ended visual regression across every panel, plus a jQuery removal project, with no upstream fix coming.
  • Template injection / XSS in configurable widget rendering — "configurable" is exactly the surface that concatenates operator-controlled config into markup.
  • EOL framework exposure — Symfony 4.4 receives no security patches; this package's existence inside that app reduces the pressure to remediate it.
  • Orphaned fork decay — six months post-adoption the fork diverges and the rationale is lost; new engineers cannot tell it is inherited code.

Ramp-up. Deceptively low for the initial read (small codebase, MIT, readable Bootstrap/Twig) and deceptively high for real ownership (framework-convention archaeology, plus the framework-mismatch translation if the target is Laravel, plus the Symfony 4.4 → modern Symfony port if the target is Symfony). Budget ~1 engineer-week to reach a native, tested equivalent and explicitly budget zero ongoing hours for the fork avoided. That asymmetry — one week now versus perpetual framework-tracking on unaudited admin code pinned to an EOL platform — is the business case, and v2.0.0 reinforces it.

Bottom line for the roadmap: the package still does not clear the bar for dependency adoption (score 0.075, dormant since 2020, zero production signal), and v2.0.0 makes the exclusion firmer by confirming a Symfony 4 / Bootstrap 4 ceiling that is already past end-of-life with no feature or security content. The defensible move is an unchanged one-week scoped reference-and-rebuild task that captures the configurable-dashboard ergonomic under our own ownership. Two notes back to the package-scoring owner: framework family and supported-major ceiling must be first-class filters, and an EOL framework floor should hard-fail a candidate outright.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console