Este repositório contem o código base para o projeto TRANSACTION REST API.
Este projeto é baseado nas seguintes tecnologias:
Laravel 8 + PHP 8.0 + PHP-FPM + PostgreSQL + NGINX
com todo o ambiente em execução em containers Docker.
A infraestrutura implementada usa Docker e Docker Compose.
Tenha certeza de possuir o Docker e o Docker Compose instalados.
Verifique-os com os seguintes comandos:
docker -v
docker-compose -v
Clone o repositório remoto para o ambiente de desenvolvimento, com o seguinte comando:
git clone https://github.com/tthiagogaia/transaction.git
E para configurar o ambiente de desenvolvimento, siga as próximas etapas do guia abaixo.
1.1 Na raiz do projeto transaction, que foi recentemente clonado, crie o arquivo .env usando:
cp .env.example .env
1.2 Ainda na raiz do projeto transaction execute:
docker-compose up -d --build
e aguarde. Quando este comando terminar, todos os serviços deverão estar em execução em containers.
2.1 Acesse o postgres, que já deve estar rodando dentro do seu Docker, e crie as seguintes databases:
transaction
transaction_test
OBS: Se você não alterou nada nos passos anteriores, as credenciais do banco são:
Host: localhost
User: postgres
Password: postgres
2.2 Instale os pacotes de dependência do projeto:
docker-compose run --rm composer install
2.3 Gere a APP_KEY usando o seguinte comando:
docker-compose run --rm artisan key:generate
2.4 Crie as tabelas e os seeders do projeto:
docker-compose run --rm artisan migrate --seed
Antes de cada push, faça verificações no código rodando o seguinte comando:
docker-compose run --rm composer check
Este comando irá executar:
Verifica se o código está obedecendo ao estilo do código e irá corrigi-lo se não estiver.
Procura vários potenciais problemas no código.
Procura violações contra o padrão de codificação definido.
Executa o conjunto de testes.
O comando a cima, executa os testes em conjunto com outros comandos. Mas caso seja necessário executar os testes testes, execute o seguinte comando:
docker-compose run --rm artisan test