API para a Plataforma Digital PEA Pescarte
Antes de subir o ambiente com Docker, é necessário autenticar-se no GitHub Packages. Crie um token acessando as configurações do seu perfil GitHub > Developer Settings > Personal Access Tokens. Para saber quais são as permissões necessárias para o token, leia a documentação sobre o GitHub Packages.
Após criar o token, já é possível fazer a autenticação no GitHub Packages:
echo "<personal_token>" | docker login ghcr.io -u USERNAME --password-stdin | requirement | release |
|---|---|
| docker | 19.03.0+ |
| docker-compose | 1.26.0+ |
Copie o arquivo .env-sample para um novo arquivo .env e defina os valores necessários
nas variáveis de ambiente. Em seguida, execute o build dos containers e obtenha as dependencias do mix.
docker-compose build
docker-compose run --rm fuschia mix deps.getBasta executar:
docker-compose updocker-compose run --rm fuschia mix deps.getdocker-compose run --rm fuschia mix ecto.migratedocker-compose run --rm fuschia mix run /lib/mix/tasks/seeds.exsdocker-compose run --rm fushcia mix ecto.rollbackÉ possível executar as migrações e os seeds com o comando:
docker-compose run --rm fuschia mix ecto.setup| container | port |
|---|---|
| fuschia | 4000 |
Esse projeto está dividio em diversas sub-aplicações que possuem diferentes responsabilidades.
Responsável pelo processamento e envio/disparo dos emails. Estamos utilizando o https://github.com/swoosh/swoosh.
Para testar o preview de email, siga a seguinte documentação:
Necessárias em produção:
MAIL_SERVER: Server do smtp (default:smtp.gmail.com)MAIL_USERNAME: User do smtp (default:[email protected])MAIL_PASSWORD: Senha do smtpMAIL_PORT: Porta do smtp (default:587)MAIL_SERVICE: O serviço de email a ser usado. Pode sergmailoulocal. (default prod:gmail, default dev:local)
Observação: Em ambiente de desenvolvimento, toda vez que a variável de ambiente MAIL_SERVICE é alterada
para trocar o adapter, toda a aplicação deve ser compilada usando
mix compile --forceEssa aplicação também conta com um servidor para visualizar os emails enviados usando o adaptador local, basta entrar na aplicação/container e utilizar:
iex -S mix swoosh.mailbox.serverQue um servidor no local https://127.0.0.1:4001 vai apresentar uma página web listando os emails enviados localmente através do `iex` que ficou aberto com o comando anterior.
Para rodar os testes localmente execute o comando:
docker-compose run --rm fuschia mix testE para rodar todos os testes (format, credo e test) use:
docker-compose run --rm fuschia mix ciTodo o material do projeto (tanto backend ou frontend) pode ser encontrado no repositório documentos_pea_pescarte, que abriga diversos artigos.