Skip to content
Framework de administración para Laravel

Define un Resource.
Obtén un panel completo.

Campos, columnas, filtros, acciones, relation managers y widgets de dashboard, generados desde una sola clase PHP. Frontend Vue SPA.

GET /arrel/api/admin/posts/schema
tenant.arrel.app/posts
Posts3
#014Introducción a ArrelPublicado
#012Novedades de la v2Borrador
#013Guía de instalaciónPublicado

Cómo funciona

Tres pasos, todos dentro de tu proyecto Laravel.

  1. 1

    Defines un Resource

    Una clase PHP con los campos, las columnas, los filtros y las acciones de tu modelo.

  2. 2

    Arrel lo sirve

    Un endpoint /schema y una API JSON, protegidos con Sanctum y las Policies del modelo.

  3. 3

    La SPA lo muestra

    Un frontend Vue precompilado renderiza el formulario, la tabla y los filtros a partir del esquema.

Todo lo que necesita un panel de administración

Cada pieza se define en PHP, dentro del propio Resource, y se sirve a través de un único endpoint /schema.

Campos

Text, Select, Date, Toggle, File, Image, Repeater y RichEditor, cada uno con sus propias reglas de validación.

Tablas y columnas

Columnas calculadas, badges e imágenes con closures value()/color(), no solo pass-through de atributos.

Acciones

View, Edit, Delete, Restore, ForceDelete y acciones a medida con su propio schema y handler, con soporte bulk.

Filtros

Filtros de tabla reutilizables, aplicados directamente sobre la query del Resource.

Relation managers

Attach/Detach y acciones propias de la relación, gestionadas desde el mismo panel del Resource padre.

Widgets

Tarjetas de estadísticas con valor, color, icono y descripción, calculadas en cada petición del dashboard.

Páginas personalizadas

Un componente Vue propio, compartiendo la instancia de Arrel o totalmente aislado con registerMountablePage.

Multi-tenancy

Un TenantResolver a medida y un middleware configurable; Arrel no impone ninguna estrategia.

Un Resource. Un panel completo.

fields(), columns() y actions() bastan para generar el formulario, la tabla y los endpoints. Sin DSL de autorización aparte: canViewAny(), canEdit()… delegan en la Policy del modelo.

Lee la guía 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

Licencia por aplicación en producción.

Brote

Para un solo proyecto.

29€/ año

Se renueva por 19€ / año

Contáctanos
  • 1 aplicación en producción
  • Soporte por correo electrónico