Este é um modelo para o painel de administração opinativo do Laravel 8.0 construído com o tema AdminLTE 3.0, Alpinejs 2.0, Livewire 2.0, suportado com testes e ramificações de recursos opcionais.
Você pode verificar este repositório que estou trabalhando ativamente no Laravel Castra. Mesma ideia, ferramentas diferentes (Hotwire Turbo).
Às vezes, os pacotes são muito grandes ou complicados de usar. Outras vezes, o pacote não possui um recurso crítico que você está procurando e você está fazendo alguns hacks para contornar isso.
O que falta é ter controle sobre o código, e agora você tem! Não gosto de como um novo usuário é adicionado. Sem problemas. Você pode alterar o código como quiser. Chega de bifurcar pacotes e mexer em seu código. A ideia é criar ramificações de recursos padrão e disponibilizá-las para que outros possam mesclá-las em sua ramificação mestre.
Aqui está a lista de ramificações de recursos com suporte. Ao mesclá-los no master, você desbloqueia novos recursos.
Depois de instalar o Laravel você deve executar estes comandos:
git clone https://github.com/jcergolj/laravellte.git
composer install
cp .env.example .env
php artisan key:generate
npm install
npm run dev
composer cghooks update
php artisan migrate:fresh --seed
Vamos encarar isso. Às vezes somos desleixados e não cuidamos bem do código. Eu adicionei alguns pacotes úteis (não é irônico) para aliviar o desenvolvedor o máximo possível.
"php artisan insights --no-interaction --min-quality=90 --min-complexity=85 --min-architecture=90 --min-style=95"
Para ações CRUD, você pode considerar o uso do comando de andaime de arquivos integrado. Ele gera arquivos para ações de Indexar, Criar, Mostrar, Editar e Excluir como este:
php artisan make:ltd-component bla --index --create --show --edit --delete
Você pode omitir qualquer uma das opções. Se desejar, você pode atualizar os arquivos stubs
como desejar. Existem comentários em arquivos de scaffolding que servem como um lembrete para você alterar o código. Você pode encontrá-lo digitando: index-review
, create-review
, show-review
, edit-review
, delete-review
. Os andaimes de fábrica e modelo não estão incluídos neste comando.
Laravellte usa sistema de autorização baseado em permissões de função. Somente usuários com função de administrador podem adicionar novas funções e atribuir permissões a elas.
Para novos recursos, as permissões são adicionadas por meio de PermissionsTableSeeder. Por convenção, os principais tipos de permissões são index , create , edit , show e delete com recurso no prefixo plural. Exemplo: usuários.index . Dito isto, você está livre para adicionar o seu próprio. No entanto, você terá que revisar/alterar o código.
Com base na convenção, os nomes das rotas devem ser dos seguintes tipos: index , create , edit , show e delete . Veja exemplo.
Para componentes livewire, a convenção para nomeá-los é a seguinte: você deve usar um desses tipos seguido pelo nome do recurso e depois pelo Componente. por exemplo, IndexUserComponent Todos os componentes Livewire devem usar a característica HasLivewireAuth. Aqui está a implementação.
Ao adicionar permissão à função, há um campo extra chamado proprietário_restricted . Se o campo restrito do proprietário for verdadeiro para qualquer página de índice, o usuário com essa permissão poderá ver apenas seus próprios recursos. No entanto, para que isso funcione, o recurso deve ter o campo proprietário_id e VisibleTo global anexado no método de inicialização.
Se o campo restrito do proprietário for verdadeiro para os tipos show , edit e delete , o usuário só poderá alterar os recursos de sua propriedade.
Para criar tipos, o proprietário restrito é ignorado.
No centro disso está o ForRouteGate que lida com a autorização. A menção honrosa vai para Middleware de Autorização.
Para a restrição de permissões de função de administrador não se aplica.
Licenciado sob a licença MIT
Janez Cergolj | Horácio Degiorgi | Chris Thompson | Maduka Jayalath |