Documento de Arquitetura
Documento de Arquitetura
Documento de Arquitetura
1. Introdução
Objetivo
Escopo
Além disso este documento tem como objetivo orientar toda equipe de MDS e EPS no
desenvolvimento do produto, oferecendo diretrizes quanto às tecnologias a serem
utilizadas neste projeto, além de seu padrão de utilização.
Visão Geral
2. Representação Arquitetural
A arquitetura do +Monitoria, pode ser considerada uma arquitetura híbrida pois utiliza
princípios de três padrões arquiteturais,sendo eles: Cliente-Servidor, MVC e
Microsserviços. Também será utilizada uma api para autenticação externa visando
abstrair a complexidade da implementação de um sistema de autenticação, a api
definida para tal finalidade foi a firebase autentication.
Cliente Servidor
API Gateway
Interface PWA
Microsserviços
Padrão de arquitetura de software para implementar interfaces com o usuário. Ele divide
um determinado aplicativo de software em três camadas interconectadas: o modelo
(Model), a visão (View) e o controlador (Controller).
A model do DRF é a camada responsável por gerir, modelar e persistir os dados. Tem
como principais funções controlar o estado dos dados, responder a instruções para
mudança de estado dos dados e cuidar das regras de negócio da aplicação.
Postgres
O PostgreSQL é um banco de dados objeto relacional, ele será responsável por
armazenar os dados do projeto.
ReactJS
FireBase
Firebase é um produto da Google, um conjunto de tecnologias disponíveis em diversas
linguagens: Java, Swift, Objective-C, Python, JavaScript (incluindo Node.js), Go, Unity
e C++. Será utilizado uma das ferramentas desse produto, o Firebase Authentication.
Essa ferramenta fornece serviços de back-end, SDKs fáceis de usar e bibliotecas de IU
prontas para autenticar usuários. A autenticação se dará por meio de email/senha e via
Facebook.
Diagrama de Relações
Diagrama de relações versão 1.0
3. Backlog
O backlog representa a acumulação de trabalho, é uma espécie de estoque relativo ao
produto que ainda não foi desenvolvido, sendo assim entende-se como uma listagem de
pedidos em espera.
EPIC03 - Feedbacks:
O projeto deve conter uma funcionalidade para gerar de feedbacks. O usuário será
informado sobre o término de suas ações, páginas inexistentes na aplicação, e também
poderá visualizar um loading spinner toda vez que uma ação estiver em execução.
5. Visão Lógica
Visualização arquitetural (visão lógica) fornece uma base para compreensão da estrutura
e a organização do design do sistema. Descrevendo os requisitos comportamentais e a
decomposição do sistema em um conjunto de abstrações.
Interface PWA
Diagrama de pacotes.
Microsserviço de Monitorias
Diagrama de classes.
6. Visão de Implantação
7. Visão de Implementação
Microsserviços
No projeto, centro de cada serviço possui seus APPs. Cada app é composto pelos
seguintes arquivos:
Interface PWA
No projeto, a interface PWA será construída utilizando ReactJS, que tem sua estrutura
composta por os seguintes arquivos:
8. Tamanho e desempenho
O produto deve ser simples e eficiente. Por ter uma interface PWA utilizará scripts de
execução em segundo plano, arquivos JavaScript, que armazenam em cache os ativos e
permitem desempenho mais alto. As principais vantagens de se utilizar PWA são
retenção e economia. O produto deve fazer uso criterioso do armazenamento em cache
para que mesmo com uma conexão ruim, ou inconstante, o usuário consiga utilizar o
app.
9. Qualidade
10. Pipeline
Docker Hub - Após passar por todas etapas da integração contínua irá publicar
a imagen no Docker Hub.
Histórico de Revisão