Este projeto é um encurtador de URL simples, construído com Node.js e Express, que permite encurtar links, gerar QR Codes e acompanhar o número de visualizações. As URLs encurtadas podem ser acessadas, editadas e excluídas via API REST.
- 🔗 Encurtamento de URL com identificador único.
- 📷 Geração de QR Code para cada URL encurtada.
- 🚀 Redirecionamento automático ao acessar a URL curta.
- 📊 Contagem de visualizações para cada link.
- ⚙️ API para criar, listar, atualizar e excluir URLs.
- Node.js
- Express
- Axios
- QRCode
- RESTdb.io (como backend para armazenar as URLs)
- dotenv para variáveis de ambiente
- CORS para controle de acesso
git clone https://github.com/davidsousadev/cutme.git
cd cutmenpm installCrie um arquivo .env na raiz do projeto e adicione as seguintes informações:
PORT=3000
URL=https://seu-endpoint-restdb.io/rest/urls
RESTDB_TOKEN=seu-token-api
DOMINIO=http://seu-dominio.com/npm startO servidor estará disponível em http://localhost:3000.
GET /lista
Retorna todas as URLs encurtadas cadastradas.
Exemplo de resposta:
[
{
"_id": "12345",
"url": "https://exemplo.com",
"urlcut": "abc123",
"views": 10
}
]POST /
Encurta uma nova URL.
Exemplo de corpo da requisição:
{
"url": "https://exemplo.com"
}Exemplo de resposta:
{
"newUrl": "http://seu-dominio.com/abc123",
"qrCode": "data:image/png;base64,...",
"urlcut": "abc123"
}GET /:urlcut
Redireciona para a URL original com base no código encurtado.
PUT /:id
Atualiza uma URL existente.
Exemplo de corpo da requisição:
{
"url": "https://novo-exemplo.com"
}DELETE /:id
Remove uma URL cadastrada.
Este projeto está licenciado sob a Licença MIT.
Feito com ❤️ por David Sousa