Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Creative Flow - Wiki Creative Flow - Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 24
    • Issues 24
    • List
    • Boards
    • Service Desk
    • Milestones
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Creative Flow
  • Creative Flow - WikiCreative Flow - Wiki
  • Wiki
  • Arquitetura

Arquitetura · Changes

Page history
Create Arquitetura authored Mar 21, 2025 by David de Castro Campos's avatar David de Castro Campos
Hide whitespace changes
Inline Side-by-side
Arquitetura.md 0 → 100644
View page @ bf3d9a91
# Arquitetura Utilizada no Projeto
## Arquitetura do Programa
Para a realização do projeto utilizamos a seguinte infraestrutura:
![Infra](uploads/5c7f252658de385da426d5650d71a372/Infra.png)
Nela, estamos utilizando de um modelo baseado no VIPER no frontend e MVC no backend.
Para tal, o usuário interage com uma View, que por sua vez tem seus dados manipulados por um presenter, que pode tanto mudar qual View está sendo demonstrada, através de sua interação com o Router, quanto solicitar dados do servidor, utilizando-se de um Service.
Já no backend, as rotas são expostas por um Controller, que expõe as entidades através dos DTOS delas, e realiza o mapeamento dos dados recebidos até um service, que processa as chamadas e, caso necessário, através do uso de um Entity Mapper, realiza as mudanças necessárias nas Entities, que, através do Repository, atualiza o banco de dados utilizado.
## Arquitetura da Infraestrutura
![Diagrama_de_Infra](uploads/2278449cd1d46109627c5fb7aa5e2c83/Diagrama_de_Infra.png)
Para a infraestrutura de nossa aplicação, utilizaremos uma EC2, para realizar o host de nosso servidor backend, escrito em NESTJS, além de hospedar nossa banco de dados em PostgreSQL e executar nossa pipeline do gitlab.
Ademais, utilizaremos o Amplify para realizar o deploy de nossa aplicação frontend web, além do uso de uma S3 para guardarmos as imagens e os dados da aplicação.
## Diagrama de Deploy
![Diagrama_de_Deploy](uploads/8be96bcd25e3aaa694e36165060cb025/Diagrama_de_Deploy.png)
Em nosso diagrama de Deploy, iniciamos criando uma Tag nova (para o Frontend ou para o Backend). A tag então inicia o processo de pipeline do respectivo repositório, que acaba gerando uma imagem docker de cada um dos componentes (build do front no repositório Frontend e build do back / banco (caso necessário) no repositório do Backend.
\ No newline at end of file
Clone repository
  • Arquitetura
  • Banco de Dados
  • Configuração
  • Design
  • Escopo
  • Gerência
  • Home
  • Processo