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 up
Serã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 --seed
Libere permissão para as views acessarem os storage
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
Para 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
.env
para.env.testing
- Altere o banco de dados na variável
DB_DATABASE
paraisus_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