Back-end: Laravel, Postgresql
O projeto se utiliza de contêineres Docker, através do pacote Laravel Sail para facilitar a configuração do ambiente de desenvolvimento. Portanto, é necessário que já possua o Docker e o Docker Compose instalados na máquina.
Você é livre para rodar o projeto em ambiente local mas esse texto não tratará essa situação.
Links para instalação e configuração de Docker:
- O arquivo .env está sendo versionado somente para facilitar o setup do projeto, mas em hipótese alguma deve se versionar esse arquivo em ambientes de produção
- End point de listagem de veículos
- End point de simulação de valores de um veículo
GET /api/vehicles
POST /api/vehicles/{id}/simulate
Parâmetro | Tipo | Descrição |
---|---|---|
input_value |
number |
Obrigatório. O valor de entrada para o veículo |
- Faça um clone do projeto para sua máquina local
- acesse a pasta do projeto via console (terminal/PowerShell/CMD)
- execute o comando:
docker run --rm \
-u "$(id -u):$(id -g)" \
-v "$(pwd):/var/www/html" \
-w /var/www/html \
laravelsail/php82-composer:latest \
composer install --ignore-platform-reqs
- Após finalizado processamento, execute o comando
./vendor/bin/sail up -d
O primeiro comando realiza a instalação dos pacotes via composer especificados no arquivo composer.json
e uma vez que a instalação termina, a pasta vendor passa a ficar disponível no projeto. O comando seguinte levanta os contêineres baseado na descrição de serviços feita no arquivo docker-compose.yml
.
Por padrão, não é necessária nenhuma configuração no arquivo .env do projeto. Caso seja necessária alguma edição na configuração padrão (relacionado a binding ports ou credenciais de banco de dados), basta editar o arquivo .env.
O projeto vai estar disponível na porta definida no arquivo .env e você poderá acessar com localhost:{PORT}
- As migrations são arquivos que populam a base de dados com as tabelas pré definidas. Para rodar basta executar o seguinte comando dentro do projeto. Esse comando além de criar as tabelas, também já vai colocar alguns registros na tabela de veículos
./vendor/bin/sail artisan migrate:fresh --seed
Para rodar os testes, rode o seguinte comando
./vendor/bin/sail test