Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • wiki 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
  • Plataforma de Doações para o Pão dos Pobres
  • wikiwiki
  • Wiki
  • Arquitetura

Last edited by Léo Falcão Viera Furtado Sep 03, 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 e Cronograma Git Workflow Design e Mockups Configuração Arquitetura Front-End Back-End BD Gerência

Diagrama de Deploy

Blank_diagram_-Page_1__1

Visão Geral

A aplicação está hospedada na AWS, utilizando uma instância EC2 para orquestração dos containers. O deploy é automatizado via GitLab Runner, que realiza o pull das imagens do ECR (Elastic Container Registry). O tráfego da aplicação é roteado por meio do Traefik.


Componentes

  • Client: Usuário acessando a aplicação via navegador.
  • EC2: Instância responsável por hospedar os containers da aplicação.
  • GitLab Runner: Runner configurado na EC2 que realiza o deploy automático via GitLab.
  • ECR: Repositório de imagens Docker utilizadas na aplicação.
  • Traefik: Proxy reverso e load balancer, responsável por rotear requisições.
  • Front-End: Interface da aplicação desenvolvida com React.
  • Back-End: API desenvolvida com NestJS, conectada ao banco e à Amazon SES.
  • Database: Banco de dados PostgreSQL, acessado por rede privada.
  • Amazon SES: Serviço de envio de e-mails utilizado pelo backend.

Redes

Rede Pública

  • Traefik
  • Front-End (React)
  • Back-End (NestJS)

Rede Privada

  • Banco de Dados (PostgreSQL)

Fluxo de Deploy

  1. GitLab Runner é acionado, na main, por push no repositório.
  2. Runner faz build e push da imagem Docker para o ECR.
  3. Instância EC2 puxa a nova imagem do ECR.
  4. Traefik roteia as requisições para front-end ou back-end conforme a URL.
  5. Backend se comunica com:
    • Banco de dados via rede privada.
    • Amazon SES para envio de e-mails.
Clone repository
  • Arquitetura
  • BackEnd
  • Banco de Dados
  • Configuração
  • Design e Mockups
  • Escopo e Cronograma
  • FrontEnd
  • Gerência
  • Git Workflow
  • Qualidade
  • Home