... | ... | @@ -7,6 +7,10 @@ |
|
|
|
|
|
Esta seção da documentação visa apresentar os padrões arquiteturais gerais do projeto, bem como a infraestrutura adotada.
|
|
|
|
|
|
Visando ao desenvolvimento de um aplicativo Mobile optamos por elegir o React Native como forma de criar um aplicativo para IOS e Android, consoante requisitado pelos stakeholders do projeto. A escolha baseou-se no fato de que não temos tempó suficiente para desenvolver dois aplicativos para as duas plataformas de maneira concomitante, tendo em vista que temos somente um semestre para o desenolvivmento e a curva de aprendizado para aprender tecnologias distintas para o front-end mobile é muito maior do que utilizar o React Native com Expo por exemplo.
|
|
|
|
|
|
Para o back-end optamos por NestJS e NodeJS e TypeScript como tecnologias de desenvolvimento de código, levnando em consideração que o nosso front-end será também escrito em TypeScript e, logo, teremos mais facilidade no aprendizado de somente uma tecnologia para todo o desenvolvimento do projeto. Ademais, a curva de aprendizado e o custo de implementação de código têm a tendência de ser menor com a utilização destas tecnologias em relação à utilização de uma stack com Java e Spring Boot por exemplo.
|
|
|
|
|
|
## Sumário
|
|
|
|
|
|
- [Arquitetura E2E](#arquitetura-e2e)
|
... | ... | @@ -58,8 +62,15 @@ Essa estrutura favorece a manutenção e escalabilidade do projeto conforme nova |
|
|
|
|
|
## Arquitetura de Infraestrutura
|
|
|
|
|
|
### Diagrama em alto nível da arquitetura:
|
|
|

|
|
|

|
|
|
|
|
|
Como podemos visualizar na figura supracitada iremos utilizar os serviços EC2 (t3.small) e um repositório ECR para armazenar as imagens Docker do back-end.
|
|
|
|
|
|
Abaixo também podemos visualizar estimativa de custos criada na [AWS Pricing Calculator](https://calculator.aws/#/)
|
|
|
|
|
|
|
|
|
[Pagges-Estimativa-Custo_AWS.pdf](uploads/1a8a1b1f930bec92d0cec017fae611ff/Pagges-Estimativa-Custo_AWS.pdf)
|
|
|
|
|
|
|
|
|
A infraestrutura do projeto foi construída utilizando **Docker** para conteinerização dos serviços, **AWS EC2** para hospedagem do backend e **AWS ECR** para versionamento e distribuição das imagens Docker.
|
|
|
|
... | ... | |