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
This is an old version of this page. You can view the most recent version or browse the history.

Arquitetura

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

Arquitetura

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

O projeto Pagges adota uma arquitetura baseada no padrão Model-View-Controller (MVC), promovendo a separação clara entre a camada de apresentação, lógica de negócio e persistência de dados.

🔧 Backend (NestJS)

A estrutura do backend foi construída utilizando o framework NestJS, com foco em modularidade e escalabilidade. A organização de pastas está dividida da seguinte forma:

Essa estrutura permite manter a responsabilidade de cada parte bem delimitada, com fácil escalabilidade e manutenção.

📱 Frontend (Expo + React Native)

O frontend foi desenvolvido utilizando Expo com React Native e segue uma organização baseada em responsabilidades, focada em componentes reutilizáveis, separação de lógica, interface e dados:

A estrutura favorece a separação de responsabilidades e facilita a manutenção do código ao longo do crescimento do projeto.


Arquitetura de Infraestrutura

A infraestrutura do projeto foi construída utilizando Docker para orquestração dos serviços, AWS EC2 para hospedagem do backend e AWS ECR para armazenamento das imagens Docker. O frontend é hospedado via Vercel com deploy contínuo.

🖥️ Serviços Utilizados

  • AWS EC2: Instância configurada para rodar containers Docker do backend, banco de dados e testes automatizados.
  • AWS ECR: Armazenamento centralizado de imagens Docker utilizadas nas instâncias.
  • Docker: Utilizado para conteinerizar o backend e seus serviços auxiliares.

🔁 Fluxo de Deploy

  • Alterações na branch main disparam o pipeline do GitLab CI/CD.
  • O backend é empacotado em uma imagem Docker e enviado ao ECR.
  • A nova imagem é utilizada para atualizar o container rodando na instância EC2.

A arquitetura do projeto garante escalabilidade, modularidade e uma integração contínua eficiente, promovendo entregas rápidas e seguras ao longo do desenvolvimento.

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