HugoJF / teste-br24

[DONE] Teste de Desenvolvimento - Br24

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Teste de Desenvolvimento - Br24

Teste técnico realizado para o processo de seleção da Br24.

Observações

Considerações e decisões tomadas durante o desenvolvimento.

Utilização dos Requests para separação dos dados do formulário

Como o formulário contém informações de duas entidades, foi utilizado recurso de classes de Requests, que remove código de validação de dentro dos controladores, e permite criação de métodos para separação e renomeação dos dados dos formulários para facilitar utilização do método fill() nos models.

Verificação do token de autenticação da Bitrix24 nos webhooks

Para verificar autenticidade dos webhooks, a Bitrix24 envia um token de autenticação em todos os requests de webhooks de saída, que devem ser verificados antes de serem processados.

Para isso foi definido um novo arquivo de rotas, chamado webhooks, que são carregados com um conjunto de Middleware semelhantes ao do conjunto API, com adição de um middleware que realiza a verificação do token de autenticação antes da requisição chegar no controladores.

Laravel Mix

Para unificar os arquivos carregados pela página de layout, foi utilizado Laravel Mix, onde qualquer dependência CSS ou Javascript, possa ser concatenado e minificado em ambiente de produção.

Regras de validação de CPF e CNPJ

As regras customizadas de validação de CPF e CNPJ foram importadas utilizando o pacote laravellegends/pt-br-validator que também validam o formato. Por causa disso a biblioteca inputmask foi adicionada para manter a formatação nos campos do formulário e auxiliar o usuário ao completar o campo.

Falta de testes

Diversas funcionalidades da aplicação poderiam ser facilmente testadas para garantir o funcionamento entre atualizações. Devido ao curto tempo disponível para implementação da aplicação, não foi possível implementar testes automatizados.

Possibilidade de um design melhor

O plano inicial era desenvolver um design totalmente novo utilizando o framework TailwindCSS. Essa ideia foi rapidamente descartada devido à falta de tempo. Como substituição, foi utilizado o framework Bootstrap, que conta com diversos componentes prontos e testados em diversos navegadores.

API da Bitrix24

Para uma aplicação final, seria necessário implementar um pacote mais robusto da API da Bitrix24, visto que muitas funcionalidades essenciais dependem nessa integração.

Colunas customizadas da Bitrix24

A identificação das colunas customizadas da plataforma Bitrix24 foram passadas como uma configuração manual. Para uma aplicação mais robusta, seria necessário detecção automática dessas colunas pelo nome usando o endpoint de fields da Bitrix24.

Documentação

A documentação de toda aplicação foi feita em inglês, com intuito de manter melhor consistência com o código e documentação existente no framework.

Componentizar elementos do Form

Os componentes individuais do formulário podem ser componentizados de uma forma a facilitar manutenção futura da aplicação.

About

[DONE] Teste de Desenvolvimento - Br24


Languages

Language:PHP 91.0%Language:HTML 9.0%