Skip to content

Aplicação Padrões Emergentes

1. Versionamento

Versão Data Descrição Autor(es)
1.0 17/03/2022 Abertura do documento Denniel e Thiago
1.1 18/03/2022 Padrões emergentes e exemplos com projeto Denniel e Thiago
1.2 19/03/2022 Adição da introdução e metodologia Denniel e Thiago
1.2.1 19/03/2022 Revisão por pares João Moura e Rafael Ramos

2. Introdução

Após estudo dos padrões emergentes, iremos demonstrar como eles podem ser aplicados no contexto do projeto, isso é, utilizando Flutter, desenvolvido em Dart, e Django REST Framework, desenvolvido em Python, de forma que os padrões podem ser aplicados a fim de colaborarem com um melhor desenvolvimento de código e padronização desses fatores.

3. Metodologia

A metodologia utilizada para a elaboração deste documento consistiu na reunião dos membros responsáveis por esta tarefa via Discord, onde foram levantados alguns padrões emergentes e analisados se estão sendo aplicados no projeto. Sendo assim, o padrão REST será demonstrado. Vale ressaltar que o documento está sujeito a atualizações, caso o grupo sinta necessidade de apresentar novos padrões, ou até mesmo atualizar os já existentes.

4. Padrões Emergentes

4.1 Rest

O padrão REST define um conjunto de restrições sobre padronização de rotas, requisições e comunicação. Desta forma, o backend do projeto foi feito por meio do Django REST Framework que fornece diversas funcionalidades que auxiliam em uma implementação de uma API REST.

Assim como mostrado na Figura 1, temos o flutter como client principal do nosso sistema, sendo que, por meio do Django REST Framework foi desenvolvida a API RESTful do nosso projeto. A transmissão entre client e REST API é feita inicialmente por meio de um JSON, com o XML também podendo ser necessário a medida que forem aparecendo dados mais complexos a serem transmitidos.


Figura 1: API REST Model

Fonte: Autores

Já a Figura 2 demonstra o template de como uma requisição funciona na nossa API do projeto. Há uma rota para técnicos em que é possivel interagir com ela por meio dos verbos HTTP e HTTPS, onde os dados do técnico são transmitidos em forma de JSON.


Figura 2: Exemplo API REST - Backend

Fonte: Autores

Por fim, a Figura 3 procura mostrar como é feita a comunicação entre client e API REST no projeto, em que através do Dio e pelos verbos HTTP e/ou HTTPS foi realizado um POST para conseguir cadastrar as informações registradas no client do técnico para a nossa api, sendo a Figura 2 acima o retorno ao ser concluída a ação.


Figura 3: Exemplo comunicação Client - API REST

Fonte: Autores