• apps Documentos
    content_paste Abertura content_paste Especificação content_paste Viabilidade Técnica content_paste Politica de Privacidade
  • people_outline Colaboradores

Especificação

  • list Lexico
  • phone_android Prototipo
  • date_range Roadmap
  • map Mapa de Requisitos
  • visibility Visão
  • folder_open Arquitetura
  • timeline Mindmap de interação
  • note Requisitos de Qualidade
  • color_lens Identidade Visual

Documento de Arquitetura

Sumário

  • Introdução
  • Finalidade
  • Escopo
  • Referências
  • Representação da Arquitetura
  • Metas Restrições de Arquitetura
  • Visão de implementação
  • Bibliografia

1. Introdução

1.1 Finalidade

       O documento de arquitetura tem a função de especificar decisões arquiteturais relevantes na produção e implementação do projeto Dulce, empregando a tecnologia React Native, descrevendo seus aspectos e funcionalidades do sistema de forma clara e objetiva.

1.2 Escopo

     Este documento se aplica à produção do aplicativo Dulce, implementado para as plataformas IOS e Android, representando a arquitetura utilizada.

1.3 Referências

Documento de Visão
Glossário.

2. Representação da Arquitetura

2.1 Diagrama de relações:


       O diagrama apresenta cada etapa que será seguido para que o aplicativo DULCE funcione. Relacionando o front-end com o Back-end.



2.2 Diagrama React/Redux/Microsserviços:



React-Native

       O front-end do aplicativo, feito em React-Native, é dividido em pastas, Screens, Navigators e Components. A pasta de Screens armazena todas as telas do aplicativo que são formadas utilizando componentes criados na pasta Components, como botões, áreas de texto e logos. A navegação de telas é feita pelo react-navigator, que utiliza da pasta Navigators para nomear e conectar as telas de acordo com o caminho estabelecido.

Redux

       O Redux armazena as informações obtidas no uso do aplicativo em uma store, para facilitar o acesso dessas informações em outras telas. Para a implementação do redux, dividimos os arquivos em Actions e Reducers. Um Reducer é um objeto que é salvo na store durante o uso do aplicativo de forma q possa ser chamado e modificado em toda a aplicação sem a necessidade de ser transitado entre as telas. A Store é um Reducer onde armazenamos todos os outros reducers ultilizados para facilitar o acesso. Para acrescentar ou retirar alguma informação da store, é necessário o uso das funções declaradas nas Actions que manipulam o conteúdo da Store.

Microsserviços

    Os microsserviços, produzida em Node.js, controlam e fornecem as informações visualizadas no aplicativo. Para qualquer manipulação de dados feita pelo aplicativo é necessário que ela seja chamada. Para implementar essa aquitetura de microsserviços, utilizamos a ferramenta Seneca JS, que fornece plugins que cuidam das fundações dos microsserviços.

       Cada microsserviço contém um Client e um Server. O Client é o intermediário entre o aplicativo e o Server. Ele recebe as informações enviadas do aplicativo, faz os devidos tratamentos e envia para o Server. O Server possui contato com o banco de dados e nele ocorre a manipulação dos dados a serem enviados ao aplicativo por meio do Client.

3. Metas Restrições de Arquitetura

       Para o desenvolvimento deste projeto serão ultilizadas as seguintes tecnologias:

  • React-native: Utilizado para a construção do aplicativo em IOS e Android;
  • Node.js: Plataforma de desenvolvimento dos microsserviços;
  • SenecaJS: Conjunto de ferramentas para implementação de microsserviços em Node.js;
  • RabbitMQ: Barramento de Serviços entre os microsserviço e o aplicativo;
  • MongoDB: Banco de Dados não relacional;
  • Manutenibilidade: O código deve ser facilmente modificado e corrigido.

4. Visão de Implementação

4.1 Modelagem de dados

4.2 Diagrama de Pacotes


A) Front-end


B) Back-end



5. Pipeline


A) App:



B) Microsserviços:



5. Bibliografia

Secretaria de Estado de Saúde do Distrito Federal, Acesso em: 23/03/2018, 11:36, Horário de Brasília.

React-native, Acesso em: 23/03/2018, 11:20, Horário de Brasília.

Node.js, Acesso em: 03/04/2018, 12:33, Horário de Brasília.

React Native Architecture: Explained! Acesso em: 22/03/2018, 12:05, Horário de Brasília.

  • Dulce Team
© , made with favorite by Creative Tim for a better web.