Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • appoio-wiki appoio-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
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • APPOIO
  • appoio-wikiappoio-wiki
  • Wiki
  • arquitetura

arquitetura · Changes

Page history
Update arquitetura authored Sep 28, 2020 by João Vitor Bernardi Severo's avatar João Vitor Bernardi Severo
Hide whitespace changes
Inline Side-by-side
arquitetura.md
View page @ 5ae4ad2e
......@@ -6,18 +6,40 @@
> Nenhum dos diagramas ou padrões a seguir foi validado
### Diagrama de Deploy
![deployment_diagram](uploads/1665c5af7019c0cd98526ea6c4516adc/deployment_diagram.jpeg)
------
## Backend
### Módulos do Sistema:
- **Routes**: Arquivos possuem o nome do serviço que será disponibilizado, como por exemplo, serviços referentes ao tutorial ficam no arquivo "TutorialRoute". Nele ficam registrados os endpointes da aplicação, ou seja, os caminhos após o endereço do servidor como ```/user/login``` e qual o tipo de chamada o endereço irá receber ```GET```, ```POST```, ```PUT``` ou ```DELETE```
- **Controllers**: Aqui estão os arquivos que irão processar o que foi recebido pelos **routes** e chamar os métodos adequados dos **services** retornando uma resposta válida para o **routes**, normalmente em formato JSON
- **Services**: Nesta pasta ficam os arquivos que validam nossas regras de negócio, como a senha válida do usuário ou se ele é administrador, utilizando o **repository** para fornecer os dados do banco e realizar as validações
- **Repository**: Todos os arquivos aqui fazem as chamadas ao banco de dados através dos **models** passando os parâmetros adequados para as funções desejadas, como as colunas que se deseja dar ```SELECT```, por exemplo.
- **Models**: Aqui estão todas as representações das tabelas do nosso banco de dados, mas de uma forma com que possamos trabalhar facilmente no código: classes. Os dados são recuperados do banco e convertidos para as classes criadas
### Diagrama do Sistema:
Maneira que as camadas do sistema se comunicam. Um fluxo de dados que começa com a requisição do usuário na camada **Route**, segue para **Controller** onde são chamados os métodos de **Service**, que por sua vez validam os dados e encaminham para **Repository** que utilizam os **Model** para fazer ações no banco como ```SELECT```, ```INSERT```, ```UPDATE``` e ```DELETE```.
Seguindo um fluxo que percorre a estrutura: **Route > Controller > Service > Repository > Model**.
![estrutura geral](https://tools.ages.pucrs.br/appoio/appoio-wiki/raw/master/images/arquitetura/Estrutura_backend.png)
------
### Diagramas de Sequencia
#### Usuário
![diagrama usuario](https://tools.ages.pucrs.br/appoio/appoio-wiki/raw/master/images/arquitetura/Diagrama_Sequencia_Usuario.png)
......
Clone repository
  • Rotas
  • arquitetura
  • banco_dados
  • configuracao
  • deploy
  • escopo
  • git_workflow
  • gp
  • Home
  • instalacao
  • mockups
  • padronizacao
  • processo
  • qualidade