|
|
| [Home](home) | [Escopo e Cronograma](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [**Arquitetura**](arquitetura) | [Código](codigo) | [BD](banco_dados) | [Qualidade](qualidade) | [Utilização](utilizacao) |
|
|
|
| :----------: | :---------------------------: | :------------------: | :--------------: | :--------------------------: | :----------------------------: | :--------------: | :---------------: | :--------------------: | :----------------------: |
|
|
|
<table>
|
|
|
<tr>
|
|
|
<th>
|
|
|
|
|
|
[Home](home)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Escopo e Cronograma](escopo)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Processo](processo)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Design/Mockups](design_mockups)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Configuração](configuracao)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[**Arquitetura**](arquitetura)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Código](codigo)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[BD](banco_dados)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Qualidade](qualidade)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Utilização](utilizacao)
|
|
|
</th>
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
# Arquitetura do Sistema
|
|
|
|
... | ... | @@ -10,9 +52,9 @@ Esta seção irá abordar a arquitetura selecionada para o Backend e Frontend, a |
|
|
## Sumário
|
|
|
|
|
|
- [Arquitetura do Sistema](#arquitetura-do-sistema)
|
|
|
- [Descrição](#descrição)
|
|
|
- [Sumário](#sumário)
|
|
|
- [Arquitetura Geral da Aplicação](#arquitetura-geral-da-aplicação)
|
|
|
- [Descrição](#descri%C3%A7%C3%A3o)
|
|
|
- [Sumário](#sum%C3%A1rio)
|
|
|
- [Arquitetura Geral da Aplicação](#arquitetura-geral-da-aplica%C3%A7%C3%A3o)
|
|
|
- [Deploy](#deploy)
|
|
|
- [Recipes API](#recipes-api)
|
|
|
- [Diagrama de Deploy](#diagrama-de-deploy)
|
... | ... | @@ -29,7 +71,8 @@ Esta seção irá abordar a arquitetura selecionada para o Backend e Frontend, a |
|
|
## Arquitetura Geral da Aplicação
|
|
|
|
|
|
![Arquitetura Geral](http://tools.ages.pucrs.br/denuncia-a-violencia/denuncia-a-violencia-wiki/raw/master/resources/images/arquiteturaGeral-v3.png)
|
|
|
<p>O dispositivo do usuário (Mobile ou Desktop) através de uma interface gráfica feita em JavaScript + React + PWA, faz requisições (através do Axios) ao nosso back-end feito com Typescript + Node + Express. Se necessário, o back-end salva ou lê dados do nosso banco de dados não relacional, utilizando o serviço do Firebase.</p>
|
|
|
|
|
|
O dispositivo do usuário (Mobile ou Desktop) através de uma interface gráfica feita em JavaScript + React + PWA, faz requisições (através do Axios) ao nosso back-end feito com Typescript + Node + Express. Se necessário, o back-end salva ou lê dados do nosso banco de dados não relacional, utilizando o serviço do Firebase.
|
|
|
|
|
|
## Deploy
|
|
|
|
... | ... | @@ -43,11 +86,11 @@ TBD |
|
|
|
|
|
## Backend
|
|
|
|
|
|
<h3 id="back-end-def-tec">Definições de Tecnologias</h3>
|
|
|
### Definições de Tecnologias
|
|
|
|
|
|
O backend utilizará Node + Express para construir uma API que rodará em um servidor na AWS. Utilizaremos Typescript por acreditar deixar o código mais legível e ESLint para ajudar no monitoramento dos padrões determinados pelo time. Para o banco de dados e validação de login, utilizaremos os serviços do Firebase.
|
|
|
|
|
|
<h3 id="back-end-mods-sis">Módulos do Sistema</h3>
|
|
|
### Módulos do Sistema
|
|
|
|
|
|
Routes: Rotas onde o servidor estará esperando receber solicitações HTTP para devolver uma resposta em JSON.
|
|
|
|
... | ... | @@ -55,7 +98,7 @@ Controller: Fazer o controle do que foi solicitado pela rota, validando o pedido |
|
|
|
|
|
Service: Responsável por conseguir e organizar a resposta (de acordo com as regras de negócio) que a controller está esperando.
|
|
|
|
|
|
Repository: Interage com o Firebase, preenche a Model e encaminha de volta para a Service.
|
|
|
Repository: Interage com o Firebase, preenche a Model e encaminha de volta para a Service.
|
|
|
|
|
|
Model: Modelo que representa as entidades do banco de dados, será preenchido com os dados do Firebase pela service.
|
|
|
|
... | ... | @@ -67,11 +110,11 @@ Firebase: Serviço externo do Google, utilizaremos para autenticação/login dos |
|
|
|
|
|
## Frontend
|
|
|
|
|
|
<h3 id="front-end-def-tec">Definições de Tecnologias</h3>
|
|
|
### Definições de Tecnologias
|
|
|
|
|
|
Utilizaremos o Framework React para fazer as views da aplicação, que receberão dados do backend através do Axios. Por ser uma aplicação Mobile, faremos o React gerar uma PWA.
|
|
|
|
|
|
<h3 id="front-end-mods-sis">Módulos do Sistema</h3>
|
|
|
### Módulos do Sistema
|
|
|
|
|
|
Component: Componentes visuais genéricos e reutilizáveis em toda a aplicação. Não devem possuir lógica ou dependências.
|
|
|
|
... | ... | @@ -81,8 +124,8 @@ Screen: Apresentar os containers necessários para formar a tela específica de |
|
|
|
|
|
### Diagramas de Componentes
|
|
|
|
|
|
TBD
|
|
|
![Untitled_Diagram](uploads/f104270b70da41869f969a83e84cde9d/Untitled_Diagram.drawio.png)
|
|
|
|
|
|
### Diagrama do Sistema
|
|
|
|
|
|
TBD |
|
|
TBD |
|
|
\ No newline at end of file |