... | ... | @@ -8,15 +8,14 @@ |
|
|
- Esta seção irá abordar a arquitetura da aplicação.
|
|
|
|
|
|
## Sumário
|
|
|
- [Definições de Tecnologias](#definições-de-tecnologias)
|
|
|
- [Arquitetura do Sistema](#arquitetura-do-sistema)
|
|
|
- [Deploy](#deploy)
|
|
|
- [Diagrama de Deploy](#diagrama-de-deploy)
|
|
|
- [Diagrama de Componentes](#diagrama-de-componentes)
|
|
|
|
|
|
# Definições de Tecnologias
|
|
|
|
|
|
- Texto
|
|
|
- [Definições de Tecnologias](#definições-de-tecnologias)
|
|
|
- [Frontend](#frontend)
|
|
|
- [Backend](#backend)
|
|
|
- [Módulos do Sistema](#módulos-do-sistema)
|
|
|
|
|
|
# Arquitetura do Sistema
|
|
|
|
... | ... | @@ -36,5 +35,62 @@ |
|
|
|
|
|
## Diagrama de Componentes
|
|
|
|
|
|
- Para criar um eficiente para a aplicação "giftreminder", que ilustre claramente, podemos seguir a descrição a seguir, organizando os elementos conforme suas funções específicas:
|
|
|
|
|
|
- **Componentes de Usuário (User Interface Components)**
|
|
|
- **Mobile App**
|
|
|
- **Função**: Interface de usuário para interação com o sistema via dispositivos móveis.
|
|
|
- **Responsabilidades**: Enviar requisições e receber respostas do servidor.
|
|
|
- **Plataformas Suportadas**: Android, iOS.
|
|
|
|
|
|
- **Componentes de Servidor (Server-side Components)**
|
|
|
- **Web Server (FastAPI)**
|
|
|
- **Função**: Processamento de requisições HTTP dos aplicativos móveis.
|
|
|
- **Responsabilidades**: Gerenciar rotas, autenticação e autorização.
|
|
|
- **Application Logic (Controllers)**
|
|
|
- **Função**: Gerenciamento da lógica de controle.
|
|
|
- **Responsabilidades**: Interagir com os modelos de dados para preparar e enviar dados aos usuários.
|
|
|
- **Models**
|
|
|
- **Função**: Gerenciamento da camada de dados e lógica de negócios.
|
|
|
- **Responsabilidades**: Interação com o banco de dados para manipulação de informações.
|
|
|
- **Database (Postgres)**
|
|
|
- **Função**: Armazenamento de dados persistentes.
|
|
|
- **Responsabilidades**: Gerenciado pela camada Model da aplicação.
|
|
|
|
|
|
- **Componentes de Infraestrutura**
|
|
|
- **Docker Containers**
|
|
|
- **Função**: Isolamento e gerenciamento de dependências.
|
|
|
- **Responsabilidades**: Cada componente do servidor (FastAPI, Gitlab Runner, Postgres) é implantado em um contêiner separado.
|
|
|
- **Gitlab Runner**
|
|
|
- **Função**: Automação de CI/CD.
|
|
|
- **Responsabilidades**: Automatizar atualizações e testes do código.
|
|
|
- **AWS EC2**
|
|
|
- **Função**: Hospedagem dos contêineres Docker.
|
|
|
- **Responsabilidades**: Fornecer recursos computacionais.
|
|
|
- **AWS S3**
|
|
|
- **Função**: Armazenamento para dados estáticos ou backups.
|
|
|
- **Responsabilidades**: Integrar-se com a aplicação para armazenamento de dados não-relacionais.
|
|
|
|
|
|
- **Componentes de Comunicação**
|
|
|
- **API Gateway (FastAPI)**
|
|
|
- **Função**: Ponto único de entrada para as requisições.
|
|
|
- **Responsabilidades**: Roteamento de requisições para os componentes internos apropriados e gerenciamento de respostas.
|
|
|
|
|
|
|
|
|
# Definições de Tecnologias
|
|
|
|
|
|
- Texto
|
|
|
|
|
|
## Frontend
|
|
|
|
|
|
- Texto
|
|
|
|
|
|
## Backend
|
|
|
|
|
|
-Texto
|
|
|
|
|
|
# Módulos do Sistema
|
|
|
|
|
|
- Texto
|
|
|
|
|
|
|