Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Globo Aplausos Wiki Globo Aplausos Wiki
  • 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
  • Globo Aplausos
  • Globo Aplausos WikiGlobo Aplausos Wiki
  • Wiki
  • Arquitetura

Last edited by João Vítor Conceição Schwingel Apr 10, 2025
Page history

Arquitetura

Home Escopo Processo Design/Mockups Configuração Arquitetura Gerência Código BD Qualidade Frontend Backend Analytics

Descrição

Esta seção da documentação visa apresentar os padrões arquiteturais gerais do projeto, bem como a infraestrutura adotada.

Sumário

  • Arquitetura E2E
  • Arquitetura de Infraestrutura

Arquitetura E2E

Esta subseção visa apresentar o padrão arquitetural front-back adotado.

Diagrama em alto nível da arquitetura:

Arquitetura-MVC

A arquitetura utilizada no projeto é a Model-View-Controller, que permite a separação entre as responsabilidades de uma aplicação em três camadas principais que serão responsáveis por organizar o código entre modelos, lógica de negócios e interfaces de forma separada.

Models

As Models representam a camada de dados da aplicação, representando a lógica de negócios, acesso aos dados além de sua validação e manipulação. Uma de suas responsabilidades é gerenciar o comportamento dos dados e atualizar o banco de dados com as informações mais recentes ou alteradas.

Views

A camada de Views é responsável por exibir os dados ao usuário final. Ela representa a interfaces do projeto, recebendo as interações do usuário e retornando respostas de acordo com o planejamento das interações.

Controller

A camada de Controllers age como um intermediário entre as camadas de Models e Views, recebendo as interações do usuário e enviando para a fonte de dados ou solicitando dados ao modelo para que eles possam ser exibidos em tela.

No projeto Globo Aplausos, o usuário acessa o Frontend via plataforma web (Views) que contém componentes reutilizáveis e que se comunicam com as Controllers do Backend para buscar ou atualizar os dados presentes nos modelos (Models) inseridos no banco de dados.

Arquitetura de Infraestrutura

Esta subseção visa apresentar o padrão arquitetural de infraestrutura adotado.

Diagrama em alto nível da arquitetura:

Arquitetura_de_deploy

Instâncias utilizadas:

  • AWS EC2. É um serviço de computação em nuvem escalável sob demanda. Esta instância será utilizada para hospedar os containers Docker do Backend, Banco de dados, Cypress e demais Runners do GitLab (CI/CD).

  • AWS ECR. É um serviço de registro de contêineres que oferece hospedagem para implantar imagens e artefatos de aplicações. Esta instância será utilizada para armazenar as imagens Docker do projeto.

  • AWS S3. É um serviço de armazenamento de objetos. No projeto Globo Aplausos, a S3 será utilizada para armazenar as imagens de usuários e produtos que podem ser cadastrados pelo administrador.

Vercel

Vercel é uma plataforma de hospedagem e automação para o desenvolvimento de plataformas web, com foco na entrega contínua de projetos realizados em estruturas de Next.js. No caso do Globo Aplausos, o Vercel é utilizado como ambiente de produção do Frontend, que é atualizado a cada sprint com as alterações enviadas à branch principal do projeto.

Fluxo de Deploy

Nesta seção será apresentado o fluxo de deploy da aplicação do projeto Globo Aplausos. Diagrama_sem_nome.drawio

Observando a imagem acima, quando uma mudança nova é realizada e adicionada à branch main do Frontend ou Backend o pipeline realiza os jobs específicos para realização do deploy da aplicação. No Frontend, o pipeline realiza o deploy para o Vercel, a partir da conexão realizada entre o repositório e a cloud, utilizando as configurações estabelecidas no ambiente e no arquivo .vercel. Para o Backend, o processo de deploy segue o mesmo padrão inicial, porém, em vez de mandar as mudanças para o Vercel, o runner do GitLab constrói uma imagem do Backend utilizando a CLI da ECR, envia a imagem para AWS que então é utilizada para gerar um novo container do Backend da aplicação.

Clone repository
  • Analytics
  • Arquitetura
  • Backend
  • Banco de Dados
  • Codigo
  • Configuracao
  • Design_Mockups
  • Escopo
  • Frontend
  • Processo
  • Qualidade
  • gerencia
  • Home