Projeto destinado a implementar as regras de negócio que envolvem o aplicativo do iSUS, vai desde a autenticação com o projeto ID Saúde a sincronização de dados com o Wordpress
- Docker
- PHP 7.4 (FPM)
- Laravel 7
$ git clone https://github.com/EscolaDeSaudePublica/isus-api.git -b develop# Acesse a pasta
$ cd isus-api
# Inicialize os containeres
$ docker-compose upSerão criados 3 containeres:
- api-isus-web: nginx
- api-isus-fpm: php-fpm onde o código é executado
- api-isus-db: Mysql database
Faça uma cópia do arquivo .env.example para .env.
Altere as configurações no arquivo .env de acordo com a necessidade do projeto, como configurações de banco de dados para o isus e o banco de dados do wordpress.
Execute o comando abaixo para instalar as dependencias e executar as migrations e os seeds
$ docker exec -it api-isus-fpm composer install
$ docker exec -it api-isus-fpm php artisan key:generate
$ docker exec -it api-isus-fpm php artisan migrate --seedLibere permissão para as views acessarem os storage
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cachePara realizar os testes automatizados será preciso criar o banco de teste e executar a migration para banco de teste
As configurações abaixo são necessária caso seja desejado não utilizar das mesmas configurações usadas nos testes manuais ou de produção/homologação. Desta forma, os testes irão ser executados utilizando uma base de dados isolada, já que os testes que utilizam banco, apagam suas alterações a cada teste.
- Copie o arquivo
.envpara.env.testing - Altere o banco de dados na variável
DB_DATABASEparaisus_testing - Crie o banco de dados de teste
$ docker exec -it api-isus-db mysql -uroot -p12345678 -e "create database isus_testing"- Acesse http://localhost:7000/ se tudo ocorrer bem irá ter API-ISUS.
- Execute os testes automatizados
$ docker exec -it api-isus-fpm php artisan test