Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C Cosmos
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Cosmos
  • Cosmos
  • Wiki
  • Arquitetura

Arquitetura · Changes

Page history
Create Arquitetura authored Aug 18, 2024 by Leonardo Vargas Soares's avatar Leonardo Vargas Soares
Show whitespace changes
Inline Side-by-side
Arquitetura.md 0 → 100644
View page @ 4266c568
| [Home](home) | [**Escopo**](escopo) | [Git Workflow](git-workflow) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Gerência](gerencia) | [BD](Banco de Dados) | [Qualidade](qualidade) |
| :----------: | :-------------------------------: | :------------------: | :--------------: | :--------------------------: | :--------------------: | :------------------------: | :--------------: | :---------------: |
# Definições Arquitetura
## Descrição
- Esta seção irá abordar a arquitetura da aplicação.
## Sumário
- [Arquitetura do Sistema](#arquitetura-do-sistema)
- [Deploy](#deploy)
- [Diagrama de Deploy](#diagrama-de-deploy)
- [Diagrama de Componentes](#diagrama-de-componentes)
- [Definições de Tecnologias](#definições-de-tecnologias)
- [Frontend](#frontend)
- [Backend](#backend)
- [Módulos do Sistema](#módulos-do-sistema)
# 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.
<img src="">
## 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.
- **Componentes de Servidor (Server-side Components)**
- **Texto**
- **Função**: Texto.
- **Responsabilidades**: 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.
- **Componentes de Comunicação**
- **Texto**
- **Função**: Texto.
- **Responsabilidades**: 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](https://typescriptlang.org)
- **JavaScript**: Uma linguagem de programação versátil usada principalmente para criar interatividade em sites e aplicações web. [Referência](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript)
- **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](https://docker.com)
- **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](https://developer.mozilla.org/en-US/docs/Web)
- **React Navigation**: Biblioteca para lidar com navegação e transição entre as telas em aplicativos usando React Native ou React. [Referência](https://reactnavigation.org)
## Backend
- **Repositório**: https://tools.ages.pucrs.br/
- **TDB**: Texto. [Referência](texto)
- **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](https://typescriptlang.org)
- **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](https://postgresql.org)
- **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](https://docker.com)
# 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.
\ No newline at end of file
Clone repository
  • Arquitetura
  • Banco de Dados
  • Configuracao
  • Design_mockups
  • Escopo
  • Gerencia
  • Git Workflow
  • Qualidade
  • Home