Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 13
    • Issues 13
    • 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
  • Projeto Focus
  • Wiki
  • Wiki
  • arquitetura

arquitetura · Changes

Page history
Update arquitetura authored Apr 15, 2023 by Leonardo José Machado Canto's avatar Leonardo José Machado Canto
Hide whitespace changes
Inline Side-by-side
arquitetura.md
View page @ 544e8731
......@@ -35,22 +35,7 @@ Abaixo está representado graficamente como funciona a comunicação do Front-en
## Backend
### Módulos do sistema Back-end
O backend de um sistema é o código que conecta a internet com o banco de dados, gerencia as conexões dos usuários e alimenta a aplicação web, ele é responsável por receber, processar, armazenar e enviar dados. Desta forma, existem diferentes tipos de arquitetura para gerenciar tudo isso, cada uma com seus prós e contras dependendo do contexto da aplicação que será desenvolvida.
No projeto Focus foi decidido que a arquitetura será no padrão camadas, onde cada uma tem uma responsabilidade em relação aos dados, como segue:
**Controllers** É a camada de cima, a que recebe e envia os dados através de requisições HTTP, diante disto, sua responsabilidade é prover os endpoints, que são métodos onde são especificados os tipos de requisições aceitas, e o tipo de retorno das respostas através dos verbos HTTP (GET, PUT, POST, DELETE), para acessar essas requisições o client especifica o verbo e se for o caso o dado que quer buscar, atualizar ou deletar.
**Services** Camada de processamento de dados, onde se aplica a lógica de negócio da aplicação, além de mediar a comunicação entre as camadas de controller e repository.
**Repositories** É a camada de acesso a dados, normalmente uma interface, ela persiste os dados no banco de dados e os busca, normalmente a camada mais “embaixo” no sistema.
**DTOs** Data Transfer Objects, de acordo com regras de negócio os dados podem ser mostrados para os clientes e recebidos deles de forma diferente dos models salvos no banco de dados, assim os atributos dos models que serão mostrados nas requisições são implementados nesses objetos. Normalmente usado entre as camadas de controllers e services.
**Mappers**Fazem o mapeamento, a “transformação” de um model em um DTO e vice-versa, normalmente usada na camada de serviço.
### Diagrama de fluxo
![diagramaBack](uploads/e85fd1bc05edba64abcd4fe69d30011d/diagramaBack.png)
## Front-end
......
Clone repository
  • 1º Encontro com Stakeholder
  • Gerenciamento do Projeto
  • Mocks
  • Planing Poker
  • User Stories
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design
  • escopo e cronograma
  • Home
  • horarios
  • instalacao
  • processos
View All Pages