Um encurtador de URLs simples, rápido e extensível, desenvolvido com Golang, Gin e armazenamento em memória.
Ideal para aprender boas práticas com o framework Gin, organizar um projeto real de backend.
- Encurtar URLs com uma API RESTful
- Redirecionar URLs encurtadas
- Armazenamento em memória (rápido, ideal para testes locais)
- Estrutura modular e profissional
url-shortener/
├── cmd/main.go # Inicialização do servidor
├── internal/
│ ├── handler/ # Rotas e controladores HTTP
│ ├── service/ # Lógica de negócio (encurtamento)
│ └── store/ # Armazenamento em memória
git clone https://github.com/williamkoller/go-short.git
cd go-shortgo mod tidygo run cmd/main.goEncurta uma URL.
Exemplo:
curl -X POST http://localhost:8080/shorten \
-H "Content-Type: application/json" \
-d '{"url":"https://golang.org/doc/effective_go"}'Resposta:
{
"short_url": "http://localhost:8080/abc123"
}Redireciona para a URL original.
curl -i http://localhost:8080/abc123Feito com ❤️ em Go — sinta-se livre para contribuir, sugerir melhorias ou abrir issues!