- 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.
- 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.