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

Arquitetura · Changes

Page history
Create Arquitetura authored Aug 07, 2025 by André Damé Fabião's avatar André Damé Fabião
Hide whitespace changes
Inline Side-by-side
Arquitetura.md 0 → 100644
View page @ 5f1226cc
| [Home](home) | [**Escopo**](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Gerência](gerencia) | [Código](codigo) | [BD](Banco de Dados) | [Qualidade](qualidade) | [Frontend](frontend) | [Backend](backend) | [Analytics](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-E2E)
- [Arquitetura de Infraestrutura](#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](uploads/017b71e4018a782e6e4b148baf24856a/Arquitetura-MVC.png)
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