← Voltar aos projetos
online · 2026

Linkael

Encurtador de links serverless com testes automatizados e deploy contínuo

Cloudflare WorkersCloudflare KVVitestGitHub Actions

Encurtador de URLs rodando 100% na borda da rede Cloudflare, sem servidor tradicional. Gera código automático ou personalizado, mede cliques, aplica rate limiting por IP e gera QR code — com as regras de validação isoladas e cobertas por testes automatizados que rodam a cada push.

Papel no projeto

Desenvolvedor único, incluindo pipeline de CI/CD.

O problema

  • •Necessidade de um encurtador próprio, sem depender de serviço terceiro para casos simples
  • •Risco de abuso em endpoints públicos de criação de link

Objetivos

  • •API serverless de criação e redirecionamento de links
  • •Testes automatizados das regras de validação
  • •Deploy automático a cada push aprovado

Solução

Arquitetura

Cloudflare Worker único servindo os arquivos estáticos e a API. Cloudflare KV guarda um registro `{ url, clicks, createdAt }` por código. Rate limiting implementado no próprio KV com `expirationTtl`, sem serviço externo.

Experiência de uso

Regras de validação isoladas em módulo próprio, testadas com Vitest independentemente do runtime do Worker. Pipeline no GitHub Actions roda os testes a cada push/PR e publica automaticamente na branch main.

Decisões técnicas

  • •Cloudflare KV escolhido por ser exatamente o caso de uso: consulta chave-valor simples
  • •Validações isoladas do runtime do Worker para permitir testes unitários reais
  • •Redirecionamento 302 (não permanente) para evitar cache indevido do destino
  • •Lista de códigos reservados para não colidir com rotas internas como /api e /stats

Desafios

  • •Implementar rate limiting sem serviço externo, usando só o TTL do KV
  • •Estruturar o projeto para testar regras de negócio sem simular o runtime completo do Worker