Skip to content

Instantly share code, notes, and snippets.

@medeirosinacio
Last active December 8, 2025 17:56
Show Gist options
  • Select an option

  • Save medeirosinacio/774c6aecfcf4a23d98f66f74432fca66 to your computer and use it in GitHub Desktop.

Select an option

Save medeirosinacio/774c6aecfcf4a23d98f66f74432fca66 to your computer and use it in GitHub Desktop.
URL Shortener

URL Shortener

Requisitos Funcionais

  • Dada uma URL longa, o serviço deve gerar uma versão curta, única e fácil de compartilhar.
  • Ao acessar a URL curta, o serviço deve redirecionar imediatamente para a URL original.
  • Permitir que o usuário defina uma versão curta customizada (slug customizado).
  • As URLs curtas devem expirar após um período pré-definido; o usuário pode definir um tempo de expiração específico.

Requisitos Não Funcionais

  • O sistema deve ter alta disponibilidade; qualquer indisponibilidade impacta todos os redirects.
  • O redirect deve ocorrer com latência mínima, aparentando tempo real.
  • Os slugs gerados automaticamente não podem ser previsíveis para evitar adivinhação por terceiros.
  • O serviço deve fornecer analytics básicos, como quantidade de redirects por período.
  • A API deve permitir consumo por serviços externos.
  • A carga esperada é majoritariamente de leitura, com proporção aproximada de 100:1 (leituras x escritas).
  • O sistema deve suportar aproximadamente 500 milhões de redirects por mês.
  • Endpoint público altamente disponível e resiliente a falhas.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment