- Laravel 5.8;
- MYSQL 5.7;
- PHP Fpm 7.1;
- NGINX 1.13.
O ambiente de desenvolvimento local, utiliza o docker. Foi criada uma estrutura personalizada atráves de imagens oficiais do docker, divida em 4 partes:
- api.dockerfile (Utiliza a imagem oficial do php-fpm 7.1 como base)
- db.dockerfile (Utiliza a imagem oficial do Mysql 5.7 como base)
- web.dockerfile (Utiliza a imagem oficial do ngxin 1.13 como base)
- docker-compose.yml (Utilizado para configurar os serviços)
Primeiro passo instalar o docker na sua maquina.
Caso seja a primeira vez que esteja executando o projeto rode o seguindo comando: docker-compose build na raiz do diretorio do projeto. Após o build da imagem execute o seguinte comando docker-compose up -d.
Caso já tenha realizado o build basta executar o comando docker-compose up -d na raiz do diretório do projeto.
Neste caso será necessário acessar o bash do serviço desejado, para isso execute o seguinte comando docker-compose exec nome-do-container bash (Substituia o nome do container pelo nome ou id do container desejado);
Temos os seguintes containers
- gestao-descontos-api;
- gestao-descontos-db;
Execute o comando docker-compose up -d e logo após execute docker-compose exec gestao-descontos-api bash dentro do bash(terminal do container) execute os seguintes comandos:
- composer install
- php artisan migrate --seed
- php artisan passport:install
OBS: Caso não seja a primeira vez e você queira recriar o banco execute o seguinte comando php artisan migrate:refresh --seed ou php artisan migrate:fresh --seed
Caso não tenha dado certo e você deseje recriar tudo novamente, primeiramente pare o container caso o mesmo esteja rodando, execute o seguinte comando docker-compose stop (Dentro do PATH do projeto, na raiz do mesmo).
Logo após realizar o passo anterior, execute o seguinte comando docker-compose down e posterior a esse docker-compose build --no-cache (o parametro --no-cache é para não utilizar o cache do container que foi criado) ou apenas docker-compose build.
Após criar os containers entre dentro do bash do container da api executando o seguinte comando docker-compose exec gestao-descontos-api bash e executar os mesmos comandos que são executados logo após a criação do container:
- composer install
- php artisan migrate --seed
- php artisan passport:install
php artisan make:model Models/<Model_name> -m -r
O -m cria a migration do modelo e o -r cria o controle do tipo resource
php artisan make:resource <Resource_name>
O comando acima, cria a camada que formata a exibição dos dados entre a API é o 'Mundo Externo'