Home | Escopo | Git Workflow | Design/Mockups | Configuração | Arquitetura | Gerência | BD | Qualidade |
---|
Definições Arquitetura
Descrição
- Esta seção irá abordar a arquitetura da aplicação.
Sumário
Arquitetura do Sistema
- Explicação da Arquitetura e porque da escolha.
Deploy
- O deploy é o processo de disponibilizar uma aplicação concluída para uso. Esse processo pode ser realizado em diversas fases do projeto, assim como após sua finalização. Utilizamos a plataforma de computação em nuvem TDB.
Diagrama de Deploy
- O diagrama apresenta o processo de deploy da aplicação Cosmos utilizando a nuvem AWS.
Diagrama de Componentes
-
Para criar um diagrama de componentes eficiente para a aplicação "Cosmos", 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)
-
Texto
- Função: Text.
- Responsabilidades: Texto.
- Plataformas Suportadas: Texto.
-
Texto
-
Componentes de Servidor (Server-side Components)
-
Texto
- Função: Texto.
- Responsabilidades: Texto.
-
Texto
-
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.
-
Docker Containers
-
Componentes de Comunicação
-
Texto
- Função: Texto.
- Responsabilidades: Texto.
-
Texto
Definições de Tecnologias
- Logo abaixo todas as tecnologias e linguagens de programação utilizadas no projeto.
Frontend
-
Repositório: https://tools.ages.pucrs.br/
-
TypeScript: Linguagem de programação que estende JavaScript adicionando tipos estáticos, o que ajuda a detectar erros em tempo de desenvolvimento, melhorando a manutenção do código. Referência
-
JavaScript: Uma linguagem de programação versátil usada principalmente para criar interatividade em sites e aplicações web. Referência
-
Docker: Plataforma que usa contêinerização para facilitar o desenvolvimento, o teste e a implantação de aplicações, garantindo que elas funcionem da mesma maneira em diferentes ambientes. Referência
-
HTML/CSS: HTML é usado para estruturar o conteúdo na web, e CSS é usado para controlar a apresentação, formatação e layout. Referência
-
React Navigation: Biblioteca para lidar com navegação e transição entre as telas em aplicativos usando React Native ou React. Referência
Backend
-
Repositório: https://tools.ages.pucrs.br/
-
TDB: Texto. Referência
-
TypeScript: Linguagem de programação que estende JavaScript adicionando tipos estáticos, o que ajuda a detectar erros em tempo de desenvolvimento, melhorando a manutenção do código. É amplamente usada em projetos que exigem maior escalabilidade e manutenção. Referência
-
Postgres (PostgreSQL): Sistema de gerenciamento de banco de dados relacional robusto e de código aberto, conhecido por sua confiabilidade, flexibilidade e suporte a recursos avançados, como consultas complexas e transações atômicas. Referência
-
Docker: Plataforma que usa contêinerização para facilitar o desenvolvimento, o teste e a implantação de aplicações, garantindo que elas funcionem da mesma maneira em diferentes ambientes. É essencial para a criação de ambientes isolados e portáteis. Referência
Módulos do Sistema
-
Frontend:
-
Estrutura Principal
-
src
: Diretório principal onde o código-fonte do front-end está organizado.
-
-
Dentro do diretório src
-
assets
: Recursos estáticos como imagens, vídeos ou arquivos de som. -
components
: Componentes reutilizáveis usados em várias partes do aplicativo. -
constants
: Constantes utilizadas ao longo do projeto, como cores, strings, etc. -
controllers
: Lógica para manipular a interação entre a UI e o modelo de dados.
-
-
Arquivos de Configuração e Scripts
-
Texto
: Texto
-
-
-
Backend:
-
Estrutura Principal
-
Texto
: Texto.
-
-
Dentro do diretório APP:
-
controllers
: Texto. -
models
: Texto. -
routes
: Texto.
-
-
Outros Diretórios e Arquivos
-
docker-compose.yml
: Define e configura serviços relacionados, volumes e redes utilizando o Docker Compose. -
Dockerfile
: Script para criar uma imagem Docker do projeto.
-
-