PHPackages                             luminix/backend - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. luminix/backend

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

luminix/backend
===============

1.1.0(3w ago)11.4k↓73.5%4MITPHPPHP ^8.2CI passing

Since Dec 5Pushed 3w agoCompare

[ Source](https://github.com/luminix-cms/backend)[ Packagist](https://packagist.org/packages/luminix/backend)[ RSS](/packages/luminix-backend/feed)WikiDiscussions v1.x Synced 2d ago

READMEChangelog (4)Dependencies (21)Versions (6)Used By (4)

Luminix Backend
===============

[](#luminix-backend)

Pacote Laravel para geração automática de endpoints RESTful a partir de modelos Eloquent, com filtragem avançada, controle de acesso por Gates e gerenciamento de relacionamentos.

Requisitos
----------

[](#requisitos)

- PHP 8.2+
- Laravel 11, 12 ou 13

Instalação
----------

[](#instalação)

```
composer require luminix/backend
```

Publique o arquivo de configuração:

```
php artisan vendor:publish --tag=luminix-config
```

Uso Básico
----------

[](#uso-básico)

Adicione a trait `LuminixModel` a qualquer modelo para expô-lo via API:

```
use Illuminate\Database\Eloquent\Model;
use Luminix\Backend\Model\LuminixModel;

class Post extends Model
{
    use LuminixModel;

    protected $fillable = ['title', 'body'];
}
```

Isso gera automaticamente os seguintes endpoints sob o prefixo `/luminix-api`:

MétodoURLAção`GET``/luminix-api/posts`Listagem paginada`POST``/luminix-api/posts`Criação`GET``/luminix-api/posts/{id}`Busca por ID`POST``/luminix-api/posts/{id}`Atualização`DELETE``/luminix-api/posts/{id}`Exclusão`DELETE``/luminix-api/posts`Exclusão em lote`POST``/luminix-api/posts/restore`Restauração em lote (SoftDeletes)Funcionalidades
---------------

[](#funcionalidades)

**Filtragem e Busca**

- 15+ operadores de filtro (`equals`, `contains`, `between`, `notBetween`, `greaterThan`, `null`, `relation`, etc.) via parâmetro `where`
- Busca textual via parâmetro `q` (busca em todos os campos `fillable`)
- Ordenação via `order_by`, paginação via `page`/`per_page`
- Filtragem por abas (`tab`) para conjuntos pré-definidos (ex: `?tab=trashed`)
- Operadores personalizados via macros em `ModelFilter`

**Segurança**

- Middleware configurável globalmente ou por endpoint
- Integração com Laravel Gates (filosofia *deny first*)
- Segurança em nível de linha via `scopeAllowed` — chamado automaticamente em toda consulta

**Relacionamentos**

- Sync, attach e detach para relações `BelongsToMany` e `MorphToMany`
- Suporte a dados de pivot

**Customização**

- Controlador por modelo via atributo `#[WithController]`
- Hooks no ciclo de vida: `beforeSave`, `afterCreate`, `beforeDelete`, `onTransactionError`, etc.
- Validação inline (`getValidationRules`) ou em classes dedicadas (`#[WithValidator]`)
- Respostas customizadas via Laravel Resources (`#[WithResource]`)
- 10 eventos Luminix-específicos (`luminixCreating`, `luminixSaved`, etc.) disparados apenas em operações de API

Exemplo com Segurança
---------------------

[](#exemplo-com-segurança)

```
// app/Providers/AppServiceProvider.php
Gate::define('read-post', fn (?User $user) => true);          // leitura pública
Gate::define('create-post', fn (?User $user) => !!$user);     // apenas autenticados
Gate::define('update-post', fn (User $user, Post $post) => $user->id === $post->user_id);
Gate::define('delete-post', fn (User $user, Post $post) => $user->id === $post->user_id);
```

```
// app/Models/Post.php
public function scopeAllowed(Builder $query, string $permission): void
{
    if (in_array($permission, ['update', 'delete'])) {
        $query->where('user_id', auth()->id());
    }
}
```

Documentação
------------

[](#documentação)

Consulte o [índice completo da documentação](docs/README.md) para referência detalhada de todos os recursos.

Licença
-------

[](#licença)

[MIT](https://opensource.org/licenses/MIT)

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance95

Actively maintained with recent releases

Popularity21

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~110 days

Recently: every ~8 days

Total

6

Last Release

24d ago

Major Versions

v0.0.1 → v1.0.02026-05-08

### Community

Maintainers

![](https://www.gravatar.com/avatar/84a3afb785274d1c4712e7ed9fd924fe5dfd1f0c033e051f9d07d55df565920a?d=identicon)[obrunopolo](/maintainers/obrunopolo)

---

Top Contributors

[![obrunopolo](https://avatars.githubusercontent.com/u/47830258?v=4)](https://github.com/obrunopolo "obrunopolo (103 commits)")[![GabrielARamosDev](https://avatars.githubusercontent.com/u/25992188?v=4)](https://github.com/GabrielARamosDev "GabrielARamosDev (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/luminix-backend/health.svg)

```
[![Health](https://phpackages.com/badges/luminix-backend/health.svg)](https://phpackages.com/packages/luminix-backend)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[api-platform/laravel

API Platform support for Laravel

58171.6k14](/packages/api-platform-laravel)[wearepixel/laravel-cart

A cart implementation for Laravel

1374.8k](/packages/wearepixel-laravel-cart)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
