... | @@ -15,6 +15,7 @@ Esta seção irá abordar a arquitetura selecionada para o Backend e Frontend, a |
... | @@ -15,6 +15,7 @@ Esta seção irá abordar a arquitetura selecionada para o Backend e Frontend, a |
|
- [Firebase](#firebase-authentication-autenticação)
|
|
- [Firebase](#firebase-authentication-autenticação)
|
|
- [GitLab](#gitlab-integração-contínua)
|
|
- [GitLab](#gitlab-integração-contínua)
|
|
- [Docker](#docker-conteinerização)
|
|
- [Docker](#docker-conteinerização)
|
|
|
|
- [Nginx](#nginx)
|
|
- [Comunicação entre as tecnologias utilizadas](#comunicação-entre-as-tecnologias-utilizadas)
|
|
- [Comunicação entre as tecnologias utilizadas](#comunicação-entre-as-tecnologias-utilizadas)
|
|
- [Modelo Arquitetural](#modelo-arquitetural-rest)
|
|
- [Modelo Arquitetural](#modelo-arquitetural-rest)
|
|
- [Definições do modelo](#definições-do-modelo-arquitetural-rest)
|
|
- [Definições do modelo](#definições-do-modelo-arquitetural-rest)
|
... | @@ -22,6 +23,7 @@ Esta seção irá abordar a arquitetura selecionada para o Backend e Frontend, a |
... | @@ -22,6 +23,7 @@ Esta seção irá abordar a arquitetura selecionada para o Backend e Frontend, a |
|
- [Estrutura de Arquivos do Backend](#estrutura-de-arquivos-do-backend)
|
|
- [Estrutura de Arquivos do Backend](#estrutura-de-arquivos-do-backend)
|
|
- [Estrutura de Arquivos do Frontend](#estrutura-de-arquivos-do-frontend)
|
|
- [Estrutura de Arquivos do Frontend](#estrutura-de-arquivos-do-frontend)
|
|
- [Diagrama comunicação entre pacotes](#diagrama-comunicação-pacotes)
|
|
- [Diagrama comunicação entre pacotes](#diagrama-comunicação-pacotes)
|
|
|
|
- [Hospedagem Eficiente](#Hospedagem-Eficiente)
|
|
- [Diagrama de deploy](#diagrama-de-deploy)
|
|
- [Diagrama de deploy](#diagrama-de-deploy)
|
|
|
|
|
|
# Tecnologias
|
|
# Tecnologias
|
... | @@ -51,6 +53,11 @@ O React (também denominado React.js ou ReactJS) é uma biblioteca front-end Jav |
... | @@ -51,6 +53,11 @@ O React (também denominado React.js ou ReactJS) é uma biblioteca front-end Jav |
|
### GitLab
|
|
### GitLab
|
|
O GitLab é um gerenciador de repositório de software baseado em git, com suporte a Wiki, gerenciamento de tarefas e CI/CD. GitLab é similar ao GitHub, mas o GitLab permite que os desenvolvedores armazenem o código em seus próprios servidores, ao invés de servidores de terceiros.
|
|
O GitLab é um gerenciador de repositório de software baseado em git, com suporte a Wiki, gerenciamento de tarefas e CI/CD. GitLab é similar ao GitHub, mas o GitLab permite que os desenvolvedores armazenem o código em seus próprios servidores, ao invés de servidores de terceiros.
|
|
|
|
|
|
|
|
### Ngnix
|
|
|
|
O NGINX é um software de servidor altamente flexível e de alto desempenho que conquistou ampla popularidade na gestão de tráfego na web. Abaixo, destacamos algumas informações adicionais sobre suas principais capacidades:
|
|
|
|
|
|
|
|
O NGINX atua como um proxy reverso, direcionando as solicitações dos clientes para servidores backend. Esse recurso é especialmente valioso para otimizar o desempenho e a segurança de um servidor web, além de possibilitar a distribuição equitativa de carga entre servidores, assegurando uma direção eficaz do tráfego.
|
|
|
|
|
|
|
|
|
|
## Comunicação entre as tecnologias utilizadas
|
|
## Comunicação entre as tecnologias utilizadas
|
|
|
|
|
... | @@ -160,7 +167,23 @@ TBD |
... | @@ -160,7 +167,23 @@ TBD |
|
### Diagrama do Sistema
|
|
### Diagrama do Sistema
|
|
|
|
|
|
TBD
|
|
TBD
|
|
|
|
### Hospedagem Eficiente: O Casamento do EC2 com o Amazon S3
|
|
|
|
|
|
|
|
Para fornecer uma solução de hospedagem altamente escalável e eficiente para nossos aplicativos web, escolhemos uma abordagem estratégica. Nossa arquitetura de hospedagem envolve a utilização do Elastic Compute Cloud (EC2) e do Amazon Simple Storage Service (S3), dois serviços robustos da Amazon Web Services (AWS).
|
|
|
|
|
|
|
|
Backend na Instância do EC2:
|
|
|
|
Nossa lógica de servidor, também conhecida como backend, será executada em uma instância do EC2. O EC2 é uma máquina virtual escalável e flexível que nos permite configurar e gerenciar servidores conforme nossas necessidades. Esta abordagem nos concede controle total sobre o ambiente do servidor e nos permite personalizar recursos, como poder de processamento, memória e sistema operacional. Além disso, o EC2 é altamente seguro e pode ser configurado para atender aos requisitos de segurança específicos de nossa aplicação.
|
|
|
|
|
|
|
|
Ao hospedar nosso backend no EC2, garantimos que tenhamos a capacidade de gerenciar a lógica de negócios e o processamento de dados de forma eficaz e escalável.
|
|
|
|
|
|
|
|
Frontend no Amazon S3 Bucket:
|
|
|
|
Nossa interface do usuário, conhecida como frontend, será armazenada em um bucket do Amazon S3. O Amazon S3 é um serviço de armazenamento de objetos altamente durável e escalável. Ele é ideal para armazenar arquivos estáticos, como HTML, CSS, JavaScript e imagens. Ao usar um bucket do S3 para hospedar o frontend, garantimos alta disponibilidade, distribuição global e baixos custos de armazenamento.
|
|
|
|
|
|
|
|
Essa abordagem nos permite separar claramente o conteúdo estático do dinâmico. Além disso, ao usar a rede de entrega de conteúdo (CDN) integrada do S3, garantimos que nosso frontend seja entregue de maneira rápida e eficiente aos usuários finais em todo o mundo.
|
|
|
|
|
|
|
|
A combinação do EC2 e do Amazon S3 cria uma infraestrutura sólida e escalável para nossos aplicativos web. O backend no EC2 fornece a funcionalidade e a lógica de negócios, enquanto o frontend no S3 oferece uma experiência de usuário otimizada e rápida. Essa arquitetura nos permite crescer de maneira eficaz e oferecer aos nossos usuários uma experiência de alta qualidade em nossos aplicativos web.
|
|
|
|
|
|
### Diagrama de Deploy
|
|
### Diagrama de Deploy
|
|
<div align="center">
|
|
<div align="center">
|
|
<img src="uploads/diagramadeploy.png" width="1500">
|
|
<img src="uploads/diagrama.png" width="1500">
|
|
</div> |
|
</div> |
|
|
|
\ No newline at end of file |