Skip to content

paulodm145/candidatos-vagas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crud Laravel 9.x com PHP 8.0 e Docker

Passo a passo

Clone Repositório

git clone git@github.com:paulodm145/candidatos-vagas.git my-project
cd my-project/

Crie o Arquivo .env

cp .env.example .env

Atualize as variáveis de ambiente do arquivo .env

APP_NAME="Nome do APP"
APP_URL=http://localhost:8989

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=nome_que_desejar_db
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 com o bash

docker-compose exec app bash

Instale as dependências do projeto

composer install

Gere a key do projeto Laravel

php artisan key:generate

Acesse o projeto http://localhost:8989

Observações

  • O projeto está configurado para rodar na porta 8989, caso queira alterar, basta alterar no arquivo docker-compose.yml
  • O projeto está configurado para rodar com o banco de dados MySQL, caso queira alterar, basta alterar no arquivo docker-compose.yml
  • O Arquivo Insonia_2023-03-05.json contém as rotas da API e pode ser importado no Insomnia para testes;
  • Como forma de autenticação foi implantado o Laravel Passport, para gerar as chaves de acesso, basta executar o comando abaixo:
php artisan passport:install
`GET` http://localhost:8989/api/candidatos?filters[]=nome|like&nome=sr

O parametro Filters é um array que recebe os campos que serão filtrados, o operador. Exemplo: filters[]=nome|like
O parametro nome é o valor(campo) que será filtrado seguido do valor. Exemplo: nome=sr
É possível passar mais de um filtro, basta separar por &. Exemplo: filters[]=nome|like&nome=sr&filters[]=....
Outros parametros:

  • per_page: Quantidade de registros por página. O padrão é 20;
  • sort_field: Campo que será ordenado. O padrão é id;
  • sort_direction: Ordem de ordenação (asc ou desc). O padrão é asc;

Tecnologias utilizadas

  • PHP 8.0
  • Laravel 9.x
  • Docker
  • MySQL