... | @@ -35,22 +35,7 @@ Abaixo está representado graficamente como funciona a comunicação do Front-en |
... | @@ -35,22 +35,7 @@ Abaixo está representado graficamente como funciona a comunicação do Front-en |
|
## Backend
|
|
## Backend
|
|
|
|
|
|
### Módulos do sistema Back-end
|
|
### 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
|
|
## Front-end
|
... | | ... | |