Home | Escopo | Processo | Design/Mockups | Configuração | Arquitetura | Gerência | BD | Qualidade | Frontend | Backend | Analytics |
---|
Página da Arquitetura do Projeto Soul Amada
Arquitetura na nuvem:
A API utilizada para a aplicação do projeto Soul Amada é executada em um container Docker dentro que é executado dentro de uma EC2, que está em uma VPC privada dentro de uma sub rede própria desta EC2. A aplicação backend se comunica com o banco de dados que guarda os dados da aplicação Para o banco de dados, o Supabase é utilizado como um banco de dados auto gerenciado e escalável. Além disto, um bucket do S3 é utilizado para o armazenamento de arquivos da aplicação, tornando o manejo de arquivos por parte da API um processo mais fácil. Para facilitar o acesso a API, um API gateway foi provisionado para redirecionar as chamadas para a EC2.
Pipeline de Deploy:
O processo de deploy acontece quando um commit é feito na branch "main" do repositório do backend da aplicação. Com isto, um runner do Gitlab é executado na própria EC2 onde a API está hospedada, onde executará os testes e enviará as migrações do Prisma para o banco de dados no Supabase. Após realizar a etapa de enviar as migrações para o banco de dados, o runner faz o "build" da imagem da API, finaliza algum container da API que já esteja em execução caso este exista, e executa um novo container com a nova imagem criada.
Pipeline de Deploy do FrontEnd:
O deploy do front end também utilizará o mesmo runner do git lab na EC2 para realizar a criação da APK e da IPA. Este runner enviará estes arquivos para uma pasta de releases no S3, onde o download das versões será disponibilizado.