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
Show 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 ...@@ -27,7 +27,7 @@ Esta seção irá abordar a arquitetura selecionada para o Backend e Frontend, a
## Arquitetura Geral da Aplicação ## 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. 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 ## Deploy
...@@ -39,7 +39,7 @@ Esse processo é apresentado nesse vídeo: [Ages 2021 - Configurando CI/CD com G ...@@ -39,7 +39,7 @@ Esse processo é apresentado nesse vídeo: [Ages 2021 - Configurando CI/CD com G
### Diagrama de Deploy ### 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 ## Backend
...@@ -74,7 +74,7 @@ Escolhas: ...@@ -74,7 +74,7 @@ Escolhas:
### Diagrama de Fluxo ### 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 ## Frontend
...@@ -109,17 +109,17 @@ O diagrama de componentes da aplicação apresenta a maneira com que as classes ...@@ -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. 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. 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. 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: 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 ### Diagrama do Sistema
...@@ -132,7 +132,7 @@ Pensando agora de maneira mais técnica e entrando mais afundo no código, o sis ...@@ -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. - 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` > 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. 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 ...@@ -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. 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