Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • olive-wiki olive-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
  • Olive
  • olive-wikiolive-wiki
  • Wiki
  • arquitetura

arquitetura · Changes

Page history
documentation update authored Jun 25, 2021 by joaofleao's avatar joaofleao
Hide whitespace changes
Inline Side-by-side
arquitetura.md
View page @ 1a32ef93
......@@ -27,7 +27,7 @@ Esta seção irá abordar a arquitetura selecionada para o Backend e Frontend, a
## Arquitetura Geral da Aplicação
Uma visão geral sobre o entendimento de como a aplicação funciona, onde as diferentes camadas comunicam-se entre si, enviando e recebendo dados/requisições.
<img src="https://tools.ages.pucrs.br/olive/olive-wiki/raw/master/Images/diagrams/system_architecture.png">
<img src="resources/images/system_architecture.png">
## Deploy
......@@ -39,7 +39,7 @@ Esse processo é apresentado nesse vídeo: [Ages 2021 - Configurando CI/CD com G
### Diagrama de Deploy
<img src="https://tools.ages.pucrs.br/olive/olive-wiki/raw/master/Images/diagrams/imagem_2021-05-20_181932.png">
<img src="resources/images/imagem_2021-05-20_181932.png">
## Backend
......@@ -74,7 +74,7 @@ Escolhas:
### Diagrama de Fluxo
<img src="http://tools.ages.pucrs.br/olive/olive-wiki/raw/master/Images/diagrams/backend-ages-olive.png">
<img src="resources/images/backend-ages-olive.png">
## Frontend
......@@ -109,17 +109,17 @@ O diagrama de componentes da aplicação apresenta a maneira com que as classes
Uma forma de ajudar a entender as diversas relações que o sistema possui é criando/projetando **diagramas** para compreender estas relações. Primeiro vamos partir por exemplo de um nível mais profundo na aplicação, demonstrando como ocorre essas relações **dentro** de um componente.
<img src="https://tools.ages.pucrs.br/olive/olive-wiki/raw/master/Images/diagrams/idea-of-component-olive.png">
<img src="resources/images/idea-of-component-olive.png">
A imagem apresentada pode nos auxiliar no entendimento de como se comportam os componentes dentro do React. Claro, essa não é uma ideia definitiva mas sim uma concepção das possíveis relações existentes. Uma outra abordagem que poderíamos analisar é a presença apenas de campos como `Name`, `Props`,`State` e `Functions`, pois se um componente possuir outro componente filho ou nodos dentro de si, os mesmos podem ser acessados ao usar um `props.children` por exemplo.
<img src="https://tools.ages.pucrs.br/olive/olive-wiki/raw/master/Images/diagrams/componentesProps.png">
<img src="resources/images/componentesProps.png">
Na imagem acima temos o que seria a representação para compreender a forma como os componentes conseguem se relacionar uns com os outros através das `Props` que foram descritas acima.
Aplicando esse conceito de representação para o nosso projeto, nós teremos um Diagrama de Componentes organizados da seguinte maneira:
<img src="https://tools.ages.pucrs.br/olive/olive-wiki/raw/master/Images/diagrams/components_diagram_frontend.png">
<img src="resources/images/components_diagram_frontend.png">
### Diagrama do Sistema
......@@ -132,7 +132,7 @@ Pensando agora de maneira mais técnica e entrando mais afundo no código, o sis
- Para acessar as páginas existentes, uma rota é especificada para cada uma delas.
> Por exemplo, caso o usuário deseje acessar a parte de Criações de uma Receita, é necessário que o caminho que ele faça na aplicação tenha uma rota que leve para `/creations`
<img src="https://tools.ages.pucrs.br/olive/olive-wiki/raw/master/Images/diagrams/system_diagram_frontend.png">
<img src="resources/images/system_diagram_frontend.png">
Neste diagrama de sistema abordamos exatamente o que foi explicado acima, onde a Routes (através do `react-router`) manipula os diversos caminhos da aplicação, sendo que caso o desejo seja acessar a página responsável pelo Feed, é necessário que o seu _path_ seja igual à `/recipes`. Também é demonstrado a forma como se comunicam as estruturas do sistema, onde uma página chama diversos componentes ou um único componente que, dentro de si, chama outros componentes.
......@@ -140,4 +140,4 @@ Neste diagrama de sistema abordamos exatamente o que foi explicado acima, onde a
O Diagrama de sequência é uma abordagem na modelagem em UML na qual o objetivo é incidir sobre as _linhas da vida_ existentes na aplicação. Em outras palavras, é uma espécie de diagrama de interação, pois descreve **como** e **em qual ordem** os diversos pacotes de trabalho trabalham juntos.
<img src="https://tools.ages.pucrs.br/olive/olive-wiki/raw/master/Images/diagrams/sequence-frontend.png">
<img src="resources/images/sequence-frontend.png">
Clone repository
  • arquitetura
  • aws
  • banco_dados
  • codigo
  • configuracao
  • design
  • docker
  • escopo
  • gestao conhecimento
  • gitlab runner
  • Home
  • instrucoes
  • processo
  • qualidade
  • utilizacao