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

Light Bootstrap Dashboard Laravel Package

renderbit/light-bootstrap-dashboard

A Laravel package that bundles the Light Bootstrap Dashboard admin theme, giving you ready-made Blade layouts, views, and UI components so you can quickly scaffold a clean, responsive dashboard for your PHP application.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

What it is (and isn't). A presentation-only package: Blade layouts, partials, components, one demo controller, config, and prebuilt assets that wrap Creative Tim's Light Bootstrap Dashboard for a Laravel app. No domain logic, persistence, auth, or middleware. Its risk profile is that of a front-end theme dependency, not a library you build a domain on.

Architecture fit. Conventional Laravel wiring: service provider merges lbd + sidebar-menu config, registers a lbd:: view namespace, exposes config/views/public publish tags, and conditionally loads src/routes.php only when lbd.load_demo_content is true. No container overrides, facades, or middleware injection — it composes cleanly with an existing app and is easy to remove. The one opinionated coupling: it layers its sidebar-menu config over laravel-menu.settings via array_replace_recursive, meaning it mutates config owned by a third-party package. Two packages writing the same key makes final state depend on provider load order — debuggable, but not obvious.

Integration feasibility. Technically easy (install, publish, extend a layout), organizationally uncertain. 0 stars and 0 dependents means no public usage corpus: no third-party tutorials, no Stack Overflow answers, nobody has already hit your bug. Every issue becomes a read-the-source task against a single-vendor codebase.

Technical risk (ranked).

  1. Transitive dependency on lavary/laravel-menu. The package hard-codes that package's config schema (laravel-menu.settings, activate_parents) and its own Laravel 12 compatibility is bounded by laravel-menu's constraints, not this package's. A fork swap or upstream change breaks all menus.
  2. Legacy front-end stack. jQuery + Popper + Bootstrap-era theme with prebuilt assets. Expect conflicts with CSP (inline Google Analytics/Maps snippets, no nonce hooks) and WCAG 2.1/2.2 AA findings (focus states, ARIA on sidebar collapse, contrast) — fixes must live in published/overridden views, which then drift from upstream.
  3. Patch decay both directions. vendor:publish --tag=views copies Blade into the app, so upstream view fixes never reach you. Conversely, assets under src/resources/assets are prebuilt with no build step, so a jQuery/Bootstrap CVE means hand-patching minified files or forking SCSS.
  4. Blade footguns. inc/head / inc/scripts wrap assets in @section(...) @show; pages must use @push or jQuery/Popper/Bootstrap/theme JS silently drops. No compile error, broken dropdowns/modals in production. Poor detection, cheap fix.
  5. Demo-mode leakage. Routes, controller, menus, and placeholder chrome are all gated, and layouts must render with demo off (Menu::exists, lbd_home_url()). One unguarded route('lbd.*') reference or a stray LOAD_LBD_DEMO=true flips a rendering path into a RouteNotFoundException 500 or exposes demo pages.
  6. Credential handling. google_maps_api_key / google_analytics_key render to client HTML — fine by design, but requires referrer-restricted keys, otherwise credential sprawl.
  7. Metadata reliability. Listed last release of 2026-10-24 is future-dated; verify tags against Packagist/GitHub before trusting release cadence. Theme asset redistribution terms should be confirmed against the MIT wrapper license.
  8. CI signal. A PHP 7.4–8.4 × Laravel 5.7–12 matrix requiring COMPOSER_NO_SECURITY_BLOCKING=1 for older Laravel indicates advisory conflicts in the legacy matrix, and permanently pins PHP 7.4-compatible code style.

Verdict. Acceptable as an internal-tool or prototype front-end that your team explicitly owns and forks. Not defensible as a strategic dependency for a long-lived, customer-facing product without budgeting for view/asset ownership.

Key questions for the maintainer.

  • Exact Bootstrap/jQuery/Popper versions shipped, and the CVE/patch policy for prebuilt assets?
  • Is laravel-menu pinned? What's the plan for Laravel 13?
  • Can demo views/routes/controller be excluded at publish time, not merely gated by config?
  • Does the MIT license cover redistribution of the Creative Tim theme assets as bundled here?
  • Tag/release history and Packagist linkage for the future-dated release?
  • Security contact and supported-version policy?
  • Any production reference deployments?

Integration Approach

Stack fit. Laravel 5.7–12, PHP 7.4–8.4, Blade, laravel-menu, no JS build chain. Fits a Blade-first server-rendered app. Does not fit an Inertia/Livewire SPA front-end or a product with an existing design system — you would be adopting a fixed visual language and retrofitting it.

Migration path — incremental and reversible, because views are namespaced and demo routes are opt-in:

  1. Feature branch/flag. composer require renderbit/light-bootstrap-dashboard; publish config only; keep LOAD_LBD_DEMO=false.
  2. Spike one screen: extend lbd::layout, publish public assets to public/vendor/lbd, confirm JS actually loads (this is where the @push vs @section bug surfaces).
  3. Menu provider: register sidebar_main_menu, sidebar_user_menu, site_header_menu, site_footer_menu in your own provider — do not depend on demo setupMenus(). Re-assert your laravel-menu.settings after the package boot to defend against the array_replace_recursive layer.
  4. Configure home_url/LBD_HOME_URL, logos, sidebar_color/sidebar_image, footer; build login/register/lock on lbd::layout-full.
  5. Convert screens one route at a time with lbd::inc.card / lbd::inc.box; publish views only where override is unavoidable and log each override in a fork-delta list.
  6. Serve published assets versioned/CDN-backed with cache-busting.
  7. Bulk-convert only after parity and after the hardening pass below.

Compatibility. Pin this package exactly and pin laravel-menu; add composer audit to CI. Inventory app-level JS first — the theme's global $/Bootstrap JS will collide with any framework JS and duplicate Bootstrap if both load. Verify PHP 8.3/8.4 in your own matrix rather than trusting upstream CI.

Sequencing. Dependency order matters: config → assets → layout smoke test → menu provider → auth screens → one CRUD screen → CSP + accessibility remediation → bulk conversion. Do the hardening sprint before conversion, not after: a11y/CSP fixes change the layouts everything else inherits, and retrofitting them across 40 screens is the expensive path.

Operational Impact

Maintenance. Small code surface (configs, two layouts, partials, two components, three helpers), but you inherit two things you cannot patch cleanly: published Blades and prebuilt assets. Effective ownership is a fork. There is no upstream composer.lock, so upstream CI isn't reproducible — you supply your own. Recommended posture: vendor-fork under your org, or maintain a documented override list plus a quarterly upstream diff.

Support. With zero dependents, assume no community answers and no organic bug reports. A written internal runbook is mandatory: how to add a page, why @push not @section, how to register a menu item, how to refresh published assets. Escalation path is the vendor directly — if this becomes load-bearing, confirm a paid support or SLA option exists before you commit.

Scaling. Server-side cost is effectively zero: static assets plus compiled Blade views, edge-cacheable, and it introduces no DB, queue, or session semantics. It scales wherever the host app scales. Real limits are front-end: jQuery/Popper/Bootstrap weight on every layout degrades Core Web Vitals on large dashboards, and unversioned asset publishing invites stale-cache incidents. Not a throughput concern.

Failure modes (likelihood × impact):

  • Assets not published in a new environment → fully unstyled app. High likelihood, cosmetic-but-embarrassing; mitigate with a deploy step and a smoke test.
  • @section instead of @push for plugin JS → JS silently missing on some pages, intermittent UI bugs. High likelihood, medium impact.
  • Demo-flag misconfiguration → either reachable demo routes or app-wide 500s from unguarded route('lbd.*'). Config error, high impact, fast detection.
  • laravel-menu absent/upgraded → menus empty or boot-time exception. Low likelihood, app-wide impact.
  • CSP enforcement added later → inline GA/Maps/theme JS blocked. Predictable, medium impact; plan nonces up front.
  • Legacy Bootstrap/jQuery CVE → no upstream patch path; forces the fork you should have planned anyway. Low likelihood, high impact.
  • Config clobber on laravel-menu.settings → wrong active-menu behavior, hard to trace. Medium likelihood, low impact.

Ramp-up. Low. A mid-level Laravel developer is productive in about one day and self-sufficient (menu API plus override workflow) in three to five. No new languages and no build tooling; the learning is Blade conventions and laravel-menu, not this package. The onboarding debt is the runbook and the fork-delta list. If you adopt, assign an owner for the fork on day one — with zero dependents, "someone else maintains it upstream" is not an assumption you can make.

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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings