Skip to content
Framework d'administració per a Laravel

Defineix un Resource.
Obtén un panell complet.

Camps, columnes, filtres, accions, relation managers i widgets de dashboard, generats des d'una sola classe PHP. Frontend Vue SPA.

GET /arrel/api/admin/posts/schema
tenant.arrel.app/posts
Posts3
#014Introducció a ArrelPublicat
#012Novetats de la v2Esborrany
#013Guia d'instal·lacióPublicat

Com funciona

Tres passos, tots dins del teu projecte Laravel.

  1. 1

    Defineixes un Resource

    Una classe PHP amb els camps, les columnes, els filtres i les accions del teu model.

  2. 2

    Arrel el serveix

    Un endpoint /schema i una API JSON, protegits amb Sanctum i les Policies del model.

  3. 3

    La SPA el mostra

    Un frontend Vue precompilat renderitza el formulari, la taula i els filtres a partir de l’esquema.

Tot el que necessita un panell d'administració

Cada peça es defineix en PHP, dins del propi Resource, i es serveix a través d'un únic endpoint /schema.

Camps

Text, Select, Date, Toggle, File, Image, Repeater i RichEditor, cadascun amb les seves pròpies regles de validació.

Taules i columnes

Columnes calculades, badges i imatges amb closures value()/color(), no només pass-through d’atributs.

Accions

View, Edit, Delete, Restore, ForceDelete i accions a mida amb el seu propi schema i handler, amb suport bulk.

Filtres

Filtres de taula reutilitzables, aplicats directament sobre la query del Resource.

Relation managers

Attach/Detach i accions pròpies de la relació, gestionades des del mateix panell del Resource pare.

Widgets

Targetes d'estadístiques amb valor, color, icona i descripció, calculades a cada petició del dashboard.

Pàgines personalitzades

Un component Vue propi, compartint la instància d'Arrel o totalment aïllat amb registerMountablePage.

Multi-tenancy

Un TenantResolver a mida i un middleware configurable; Arrel no imposa cap estratègia.

Un Resource. Un panell complet.

fields(), columns() i actions() basten per generar el formulari, la taula i els endpoints. Sense DSL d'autorització separat: canViewAny(), canEdit()… deleguen a la Policy del model.

Llegeix la guia de Resources →
PostResource.php
final class PostResource extends Resource
{
    protected static string $model = Post::class;
    protected static string $icon = 'document-text';

    public function fields(): array
    {
        return [
            Text::make('title')->rules('required', 'max:255'),
            Select::make('status')->options(['draft', 'published']),
            Toggle::make('is_featured'),
        ];
    }

    public function columns(): array
    {
        return [
            Column::make('title')->searchable()->sortable(),
            Column::make('status')->as('badge'),
        ];
    }

    public function actions(): array
    {
        return [ViewAction::make(), EditAction::make(), DeleteAction::make()];
    }
}

Pricing

Llicència per aplicació en producció.

Brot

Per a un sol projecte.

29€/ any

Renovació per 19€ / any

Contacta'ns
  • 1 aplicació en producció
  • Suport per correu electrònic