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

Last edited by Andressa Farkas Jun 11, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Arquitetura

Home Escopo Gerência Processo Design Configuração Arquitetura Banco de Dados Transferência

Sumário

  • Arquitetura Utilizada no Projeto
    • Arquitetura do Programa
    • Arquitetura da Infraestrutura
    • Diagrama de Deploy

Arquitetura Utilizada no Projeto

Arquitetura do Programa

Para a realização do projeto utilizamos a seguinte infraestrutura:

Infra

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

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

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.

Clone repository
  • Arquitetura
  • Banco de Dados
  • Configuração
  • Design
  • Escopo
  • Gerência
  • Home
  • Processo