Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • H Hopeful 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
  • Gestao de Planos de Contingencia em Desastres
  • Hopeful Wiki
  • Wiki
  • Arquitetura

Last edited by André Damé Fabião Aug 25, 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

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 X, 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.

Estrutura de Pastas do backend

A estrutura de pastas do Backend segue o padrão MVC, porém de uma forma mais modular e organizada, onde cada módulo possui suas próprias pastas de Controllers, Models, Dto e Services e repository. Exemplo de estrutura de pastas do módulo de usuários:

modules/
└── users/
    ├── controllers/   # Controladores responsáveis pelas rotas e lógica de entrada
    ├── dto/           # Data Transfer Objects (validação e tipagem de dados)
    ├── models/        # Modelos que representam as entidades e estruturas do banco
    ├── repository/    # Acesso ao banco de dados e queries
    └── services/      # Regras de negócio e lógica da aplicação

## Arquitetura de Infraestrutura


#### Instâncias utilizadas:
Clone repository
  • Arquitetura
  • Banco de Dados
  • Frontend
  • backend
  • configuracao
  • design_mockups
  • escopo
  • Home
  • processo