LaravelPackages.net
Acme Inc.
Toggle sidebar
nickdekruijk/leap

Laravel Easy Admin Panel

1.092
1
1.5.1
About nickdekruijk/leap

nickdekruijk/leap is a Laravel package for laravel easy admin panel. It currently has 1 GitHub stars and 1.092 downloads on Packagist (latest version 1.5.1). Install it with composer require nickdekruijk/leap. Discover more Laravel packages by nickdekruijk or browse all Laravel packages to compare alternatives.

Last updated

Leap — Laravel Easy Admin Panel

Leap is a Laravel package that gives you a full admin panel with almost no boilerplate. Admin screens are defined in PHP with a fluent API — no per-screen Blade or JavaScript — and it ships an optional, semantic-HTML frontend template (pages, navigation, sections, search, SEO) for the public site.

Built with Livewire; styling is compiled on request (no npm/Vite build step).

Features

  • Resource modules — declare a model's CRUD screen with a fluent Attribute API: list columns, editor form, validation, search, sort, filter, CSV import/export.
  • Media, sections and rich content — file/image uploads, repeatable JSON section blocks, TinyMCE and Ace editors.
  • Roles & permissions, two factor authentication, passkeys and password reset out of the box.
  • Multilingual editing — edit and store content per locale, fully opt-in, with locale-aware routing, hreflang/sitemap and language switching for the frontend.
  • Frontend template — an accessible, SEO-ready public website scaffolded with one command.

Live demo

Try Leap at leap.nickdekruijk.nl — the admin panel lives at /admin, log in with [email protected] / leapdemo. It is a stock leap:template install. Feel free to change anything: everything you save is publicly visible, and the site resets itself to its seeded state 15 minutes after the last change.

Quick start

composer require nickdekruijk/leap
php artisan migrate

Add the required traits to your user model (see docs/installation.md), then visit /admin.

Your first module

Write it by hand, or generate it from an existing model with php artisan leap:module Page (see modules-and-resources.md):

namespace App\Leap;

use App\Models\Page;
use NickDeKruijk\Leap\Classes\Attribute;
use NickDeKruijk\Leap\Resource;

class PageResource extends Resource
{
    public $model = Page::class;

    public function attributes(): array
    {
        return [
            Attribute::make('title')->index(1)->searchable()->required(),
            Attribute::make('slug')->unique()->slugFrom('title'),
            Attribute::make('active')->switch()->default(true),
        ];
    }
}

Drop that in app/Leap/ and it appears in the panel — list, editor, validation and permissions included.

The frontend template (optional)

leap:template lives in nickdekruijk/leap-template, a separate dev-only package — leap itself stays a normal, non-dev requirement:

composer require --dev nickdekruijk/leap-template
php artisan leap:template

Scaffolds a public website: pages, navigation, content sections, live search, an admin-editable footer, per-page SEO and a sitemap. See docs/template.md.

Documentation

Requirements

PHP 8.3–8.5 · Laravel 12/13 · Livewire 3/4.

Releases

Pushing a tag publishes a GitHub release automatically, with that version's CHANGELOG.md section as its notes — so the changelog stays the only place a release is written. A tag whose version has no changelog section fails the workflow rather than publishing an empty release.

License

MIT. See LICENSE.md.

Comments