Skip to content

API para a Plataforma Digital PEA Pescarte

License

Notifications You must be signed in to change notification settings

larisard/fuschia

Repository files navigation

Fuschia

https://github.com/cciuenf/fuschia/workflows/elixir_ci/badge.svg?branch=dev

https://coveralls.io/repos/github/cciuenf/fuschia/badge.svg?branch=dev

API para a Plataforma Digital PEA Pescarte


Setup

GitHub Packages

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 

Requerimentos mínimos

requirementrelease
docker19.03.0+
docker-compose1.26.0+

Ambiente de desenvolvimento

Primeira vez rodando

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.get

Sempre que for rodar o projeto

Basta executar:

docker-compose up

Para atualizar ou instalar novas dependências

docker-compose run --rm fuschia mix deps.get

Para executar migrações

docker-compose run --rm fuschia mix ecto.migrate

Após as migrações, para popular o banco

docker-compose run --rm fuschia mix run /lib/mix/tasks/seeds.exs

Para reverter migrações

docker-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

Portas expostas no sistema do host

containerport
fuschia4000

Aplicações

Esse projeto está dividio em diversas sub-aplicações que possuem diferentes responsabilidades.


Fuschia.Mailer

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:

Variáveis de ambiente

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 smtp
  • MAIL_PORT: Porta do smtp (default: 587)
  • MAIL_SERVICE: O serviço de email a ser usado. Pode ser gmail ou local. (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 --force

Rodando localmente

Essa 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.server

Que 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.


Rodando os testes

Para rodar os testes localmente execute o comando:

docker-compose run --rm fuschia mix test

E para rodar todos os testes (format, credo e test) use:

docker-compose run --rm fuschia mix ci

Materiais, Tutoriais, Relatórios e extras

Todo o material do projeto (tanto backend ou frontend) pode ser encontrado no repositório documentos_pea_pescarte, que abriga diversos artigos.

About

API para a Plataforma Digital PEA Pescarte

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published