Para um entendimento melhor, aqui está o link da playlist em que o projeto foi baseado... Link da playlist
- PHP 8+
- Composer
- MySQL ou SQLite
- Node.js e NPM (para o frontend, caso aplicável)
git clone https://github.com/malobr/Permission-Laravel.git
cd backend
composer install
npm install && npm run dev
Copie o arquivo de exemplo .env
e configure suas credenciais de banco de dados:
cp .env.example .env
Gere a chave da aplicação:
php artisan key:generate
Configure suas credenciais no .env
:
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=testapieye
DB_USERNAME=root
DB_PASSWORD=root
composer require spatie/laravel-permission
Publique a configuração:
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
Ou, caso prefira...
php artisan vendor:publish --tag="permission-migrations"
php artisan migrate
php artisan db:seed --class=SuperAdminSeeder
Isso criará:
- Todas as permissões de todos os CRUDs.
- Uma role
superadmin
com todas as permissões. - Um usuário com e-mail
superadmin@teste.com
e senha12345678
. - Esse usuário terá a role de
superadmin
.
php artisan config:clear
php artisan cache:clear
php artisan optimize:clear
php artisan serve
Caso esteja utilizando Docker, todos os comandos Artisan e npm devem ser executados dentro do container para que funcionem corretamente.
Aqui estão os comandos Docker mais usados para controle dos containers e execução dentro do container Laravel:
docker-compose down -v # Para e remove os containers e volumes associados.
docker-compose up -d --build # Cria e inicia os containers, reconstruindo as imagens.
docker-compose down # Apenas para os containers (sem remover volumes).
docker-compose up -d # Apenas inicia os containers parados.
docker exec -it laravel-app php artisan migrate # Executa as migrations dentro do container laravel-app.
docker exec -it laravel-app npm install # Instala as dependências Node.js dentro do container.
docker exec -it laravel-app npm run build # Gera o build dos assets do frontend dentro do container.
Lembre-se: Sempre que precisar executar um comando artisan ou npm, faça via docker exec
dentro do container para garantir que os ambientes PHP e Node.js estejam corretos.
Agora que você configurou o projeto e as permissões, vamos visualizar o fluxo do sistema, com as etapas representadas por imagens.
-
Dashboard inicial
-
Listagem das Permissões
-
Criação das Permissões
-
Edição das Permissões
-
Listagem das Roles
-
Criação das Roles
-
Edição das Roles
-
Listagem de Artigos
-
Criação dos Artigos
-
Edição dos Artigos
-
Listagem de Usuários
-
Criação dos Usuários
-
Edição dos Usuários