Pular para o conteúdo principal

Chega de reinventar a Roda: Como o vaasproject.com simplificou a validação de dados para novos projetos

Se você é desenvolvedor, tech lead ou gerente de projetos, sabe que poucas tarefas são tão repetitivas e, ao mesmo tempo, tão críticas quanto a validação de dados. Quantas vezes sua equipe já escreveu e reescreveu lógicas para validar um CPF, verificar a validade de um e-mail ou consultar um CEP? Esse é um trabalho que consome tempo, desvia o foco do que realmente importa — a regra de negócio — e, convenhamos, ninguém gosta de fazer.

É exatamente essa dor que uma nova plataforma, chamada vaasproject.com, se propõe a resolver. E a abordagem deles é tão simples quanto genial: Validation as a Service (VaaS).

O Problema que Ninguém Gosta de Lidar

Em todo sistema que lida com cadastros, pagamentos ou qualquer tipo de entrada de dados, nos deparamos com a mesma lista de desafios:

  • Código repetitivo: A lógica para validar um CNPJ ou um cartão de crédito é sempre a mesma, mas acaba sendo replicada em múltiplos projetos.

  • Manutenção constante: Regras mudam, novos padrões surgem. Manter essa lógica atualizada em todos os lugares é um pesadelo.

  • Risco de segurança: Uma validação mal implementada pode abrir brechas de segurança ou comprometer a integridade dos dados.

Foi buscando uma solução para otimizar esse cenário que encontrei o vaasproject.com.

A Solução: Validação como um Serviço (VaaS)

A proposta do vaasproject.com é direta: fornecer um conjunto de endpoints de API para validações comuns, eliminando a necessidade de código repetitivo. Em vez de construir sua própria função, você simplesmente faz uma chamada de API.

O serviço foi criado por desenvolvedores em associação com a empresa Ala Alba Enterprises e centraliza toda a lógica de validação, garantindo que você sempre use as regras mais recentes e seguras.

Principais Vantagens que me Chamaram a Atenção

  1. Foco Total na Segurança e LGPD: A plataforma deixa claro em seus termos que nenhum dado enviado para validação é armazenado. O serviço atua exclusivamente em tempo real, o que é um grande diferencial em termos de privacidade e conformidade com a LGPD. Além disso, dados sensíveis de cadastro na plataforma são criptografados.
  2. Economia de Tempo e Recursos: A meta do projeto é clara: economizar o tempo do desenvolvedor. Ao delegar as validações para a API, sua equipe pode se concentrar no desenvolvimento do core da sua aplicação.
  3. Facilidade de Integração: Todos os endpoints utilizam o método POST e a autenticação é feita via chave de API.

Como Funciona na Prática?

Vamos ver um exemplo simples. Imagine que você precisa validar um CEP e obter o endereço.

Em vez de procurar uma biblioteca ou outra API pública, com o vaasproject.com você faz uma única chamada ao endpoint POST /api/v1/validate/cep.

O retorno é um JSON claro e informativo:

  "success": true
  "message": "CEP is valid and address data was found.",
  "details": { 
          "format_is_valid": true,
          "address_data_found": true,
          "street": "Rua Exemplo",
          "neighborhood": "Bairro Teste",
          "city": "Cidade Genérica",
          "state": "UF" 
         } 
}

Simples assim! Além do CEP, eles oferecem endpoints para:
  • CPF: Verificando formato e dígitos verificadores.
  • Cartão de Crédito: Validando o formato e o algoritmo de Luhn e retorna a bandeira.
  • E-mail: Com múltiplos níveis de validação, como formato, existência de registros MX no domínio e até identificação de e-mails descartáveis.
  • E muitos outros que estão planejados, como Placa de Veículo, Força de Senha e Inscrição Estadual.
Olha exemplo de retorno do endpoint POST /api/v1/validate/email :

  "success": true,
  "message": "Email is valid.",
  "details": { 
          "format_is_valid": true,
          "tld_is_valid": true,
          "domain_mx_exists": true,
          "domain_a_exists": true,
          "domain_aaaa_exists": false,
          "is_disposable": false 
         }
 }

Um ponto que demonstra a seriedade do projeto é a transparência. A documentação explica que nenhum serviço pode garantir com 100% de certeza que uma caixa de entrada existe sem enviar um e-mail de verdade, pois muitos servidores bloqueiam tentativas de verificação para evitar spam. Por isso, o foco deles é fornecer a mais alta probabilidade de validade através dessas checagens robustas, que é a abordagem mais segura e ética.

Conclusão

O vaasproject.com se apresenta como uma ferramenta "de dev para dev", focada em resolver um problema real e universal no nosso dia a dia. Para mim, a proposta de valor é claríssima: menos código repetitivo, mais segurança e mais tempo para focar no que realmente agrega valor ao negócio.

Postagens mais visitadas deste blog

Trabalhando com HASHBYTES no SQL Server

Hoje precisei criar uma função para gerar um Hash SHA2_512 dentro de um banco SQL Server 2016. Para quem não conhece ou não sabe, uma função hash é um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo. Os valores retornados por uma função hash são chamados valores hash, códigos hash, somas hash (hash sums), checksums ou simplesmente hashes. É muito utilizado para armazenar senhas… cria-se um hash da senha do usuário e o resultado é armazenado, não deixando no banco a senha original. Importante dizer: o hash não é uma criptografia. Ou seja: não há retorno. No caso da senha, por exemplo, será necessário fazer o comparativo pelo hash. Imagine um formulário de login, por exemplo. Quando ele for submetido pelo usuário, o sistema deverá gerar o hash code do que foi preenchido no campo de senha e comparar com o hash que está no banco. O SQL Server possui uma função nativa para retornar hash nos modelos mais utilizados (MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | ...

Diferença entre banco de dados, instância, schema, tablespaces e etc.

Vamos a um pouco de teoria de banco de dados. Tenho certeza que será muito útil para os universitários. 🙂 No mundo da tecnologia e gerenciamento de informações, os bancos de dados desempenham um papel vital. Um banco de dados, ou base de dados, é um conjunto organizado de registros que oferece a capacidade de reorganização e extração de informações. Normalmente, os registros em um banco de dados são agrupados para servir a um propósito comum. A gestão de um banco de dados é tipicamente realizada por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Exemplos notáveis de SGBDs incluem o Oracle, MySQL, SQL Server e PostgreSQL. É importante notar que, às vezes, o termo “banco de dados” é erroneamente usado como sinônimo de SGBD. No contexto atual, o modelo de dados mais amplamente adotado é o modelo relacional, no qual as informações são organizadas em tabelas compostas por linhas e colunas. Instâncias: A Máquina Cerebral do Banco de Dados Quando se trata de...

Como iniciar, parar e reiniciar o serviço MySQL no Linux

Recentemente fiz um post sobre a instalação do MySQL no Linux , agora vamos falar como verificar o status do serviço e como aplicar os comandos start, stop e restart. Coisas básicas para a manutenção. 1 . Como verificar o status do serviço É importante compreender que, dependendo da versão do Linux, o comando a ser usado pode variar. Em versões mais antigas, utilizamos o comando " service ";  já em versões mais recentes, o comando " systemctl ". Veja os exemplos abaixo: sudo systemctl status mysql ou sudo service mysql status Um retorno semelhante a esse mostra que o serviço está ativo. 2 . Como iniciar o serviço no Linux Novamente importante atentar para a distribuição do linux. Para o Ubuntu ou outras distribuições baseadas no Debian, você usará o comando systemctl, em outras provavelmente o service. Vamos aos exemplos: sudo systemctl start mysql ou sudo service mysql start Importante notar que o comando start pode não gerar output, por isso é importante verificar...

Contar caracteres no MySQL

Vamos fazer uso das funções da linguagem SQL para contar caracteres de um campo salvo em uma tabela. Ou seja, vamos selecionar diversos registros de uma tabela e contar os caracteres de um de seus campos. No MySQL temos várias funções para contar caracteres: LENGTH(cadeia) – comando também existente no Oracle Recebe uma cadeia , conta e retorna o número de caracteres. CHARACTER_LENGTH(cadeia)  Recebe também uma cadeia e retorna o número de caracteres contados. CHAR_LENGTH(cadeia) É um sinônimo de CHARACTER_LENGTH. Embora nem todas as versões de MySQL o tenham. A diferença entre LENGTH e CHARACTER_LENGTH é que em CHARACTER_LENGTH um caractere “multibyte” conta como um só caractere. Em LENGTH conta o número de bytes da cadeia. Assim, no caso de ter uma cadeia com 5 caracteres que ocupam 2 bytes cada um, LENGTH retornaria 10 e CHARACTER_LENGTH só 5. Por enquanto vamos utilizar CHARACTER_LENGTH, ela devolverá os resultados que esperamos obter, o número de caracteres da cadeia, independ...

ORACLE - Verifique Fragmentação de objetos no seu Schema

select substr(owner,1,15), substr(SEGMENT_NAME, 1,30), substr(SEGMENT_TYPE,1,10), substr(TABLESPACE_NAME,1,20), EXTENTS, MAX_EXTENTS from dba_segments where owner like ('P%') order by owner, extents desc; Observações: Quanto mais Extents pior; O owner like (‘P%’) busca todo os objetos de schemas com P%… ou seja: precisa ser adaptado a sua realidade quando for executado. Recomendo a leitura de: https://levipereira.wordpress.com/2010/10/19/desfragmentando-tabelas-no-oracle-10g/ http://www.devmedia.com.br/oracle-10g-11g-desfragmentacao-online-de-tabelas/30166