O que você encontrará neste projeto:
- Camada de repositório
- Camada DTO
- Criação de middleware para validar se ou usuário tem ou não tal permissão
- Super admins tem controle total do sistema
- CRUD de usuários
- CRUD de permissões
- Vincular N permissões a um usuário
- Validação do que vem na request utilizando "request validation"
- Formatar os dados de saída utilizando "resource"
- utilização de "with" para carregar certos relacionamentos
- utilização do load para carregar um certo relacionamento
- Login/Logout
- Recuperar informações do usuário pela rota "/me" caso o token dado esteja válido
- Docker e alguns containers para o funcionamento do sistema
Clone Repositório
git clone https://github.com/Fabricio-Guima/api-acl.git
cd api-acl
Crie o Arquivo .env
cp .env.example .env
Atualize as variáveis de ambiente do arquivo .env
APP_NAME="api-acl"
APP_URL=http://localhost:8989
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
Suba os containers do projeto
docker-compose up -d
Acesse o container app
docker-compose exec app bash
Instale as dependências do projeto
composer install
Gere a key do projeto Laravel
php artisan key:generate
composer remove phpunit/phpunit
composer require pestphp/pest --dev --with-all-dependencies
./vendor/bin/pest --init
composer require pestphp/pest-plugin-laravel --dev
Rodar os testes após serem feitos:
./vendor/bin/pest
Crie no arquivo "composer.json" um atalho para o comando "./vendor/bin/pest" dentro de scripts
"test": [
"./vendor/bin/pest"
]
Agora em seu terminal será necessário rodar o comando abaixo para ver seus testes em ação:
composer test
Acesse o projeto http://localhost:8989